1 综述
Bean标签主要是访问Web范围的各种BEAN的,BEAN标记库的标记主要分成3类:
(1) 访问HTTP请求信息相关的标记和访问页面内各种参数的标记。
(2) 访问各种WEB资源的标记
(3)定义和输出各种java Bean 及其相应属性的标记。
2 <bean:header>
用于获取HTTP请求中的Header信息。
<bean:header id="explorer" name="user-agent"/>
name 用于指定标记所要读取的Header名称
id表示将name属性所指定的属性取出后保存在is属性所命名的变量中。
浏览器的信息存储在变量 explorer中。
你所使用的浏览器是:<bean:write name="explorer"/>
3 <bean:parameter>
用于读取HTTP请求中的参数。
(1)创建连接
<html:link page = "/MyJsp.jsp?testString=jake&testint=10000">
单击此处添加请求参数
</html:link>
(2)在跳转页面中
<bean:parameter id="test1" name="testString" value=""/>
请求参数testString的值为:<bean:write name="test1"/>
<br>
<bean:parameter id="test2" name="testInt" value=""/>
请求参数testInt的值为:<bean:write name="test2"/>
name用于指定页面请求中的参数名,如上面指示的testString , testInt
id : 将name属性所指定的请求参数取出后,保存在id所指向的变量中,这个变量存放在pageContext中,
value: 该属性用于指定参数的默认值,通常应该包含一个默认值。
(3)显示多个属性,使用Multiple
请求页面如下:
<html:link page = "/MyJsp.jsp?testValue=jake&testValue=du&testValue=ming">
单击此处添加请求多个参数
</html:link>
跳转页面: (注意使用了multiple属性)
<bean:parameter id="testArray" name="testValue" value="" multiple="yes"/>
参数列表如下:
<%
for(int i = 0 ;i<testArray.length;i++){
out.println("参数" + i + ":" + testArray[i]) ;
out.println("<br>");
}
%>
4 <bean:page>
<bean:page>用于获取jsp内建对象,jsp的内建对象包括request , response ,pageContext , session ,application ,out ,config ,page,exeception 。
<bean:page id="session_dup" property="session"/>
<%
out.println("Session 的创建时间") ;
out.println(session_dup.getCreationTime()) ;
%>
property : 指定了要使用的内建对象的名称。
id:取得的内建对象存储在id属性所指定的变量中。
二 访问各种WEB资源的标记
1 <bean:include>
用于将其他的web资源包含进当前的页面中,例如可以包含某个网页进入当前的网页中,当需要将<bean:include>标签所包含的web资源
显示出来的时候,可以使用<bean:write>标记。
<bean:include> 标记常用的有以下4个属性。
(1) id 属性:该属性指定了通过其他方式所引用的web资源在本页面内的对象。
(2)page属性:该属性指定了当前应用的一个URI ,注意该属性前必须以“/”开头。
(3)forward属性:该属性指定了全局的转发的转发路径
(4)href属性:指定一个完整的URL方案。
2<bean:message>
用于显示资源文件中的消息文本。该标签中有一个bundle属性,它和struts-config.xml文件中的message-resources标记内的key属性相对应。
<bean:message key="test.add"/> 在资源文件中定义了消息的key值,然后直接可以使用。
三 定义和输出各种JavaBean及其相应属性的标记。
1 <bean:define>
该标记用于定义一个变量,它的id属性指定变量的名称,toScope用于指定变量存放的范围。示例代码:
<bean:define id="testString1" value="this is a string"/>
<bean:write name="testString1"/>
2 <bean:size>标记
用于获取集合对象或数据对象的长度。它的id属性定义一个整形变量,它的值是集合对象的长度,name属性指定已经存在的集合对象或数组对象的名称。 常用的集合对象有HAshMap 和 ArrayList 等。
<%
ArrayList <Integer>testList = new ArrayList<Integer>() ;
testList.add(new Integer(1)) ;
testList.add(new Integer(2)) ;
testList.add(new Integer(3)) ;
pageContext.setAttribute("listForCount" , testList ) ;
%>
<bean:size id="size" name="listForCount"/>
长度为:<bean:write name="size"/>
3 <bean:write>