1、 访问HTTP请求信息或JSP隐含对象 html
一、<bean:header>标签: java
该标签用于从HTTP请求中提取Header信息,示例以下: web
<bean:header id="lang" name="Accept-Language"/> 数组
提取的信息是:<bean:write name="lang"/> 浏览器
解释:将请求Header中的Accept-Language属性存储到page范围内的变量Language中!而后输出! cookie
二、<bean:parameter>标签: session
该标签用于检索请求参数,示例以下: app
<bean:parameter id="uid" name="userid" value="默认值" multiple="yes"/> 框架
解释:将name属性指定的参数值存储到id属性指定的变量中,若是不存在这样的参数,那么采起value属性指定的默认值! 对于multiple属性它是用于检索全部同名参数,此时id属性指定的变量再也不为String类型,而是String[]类型!注意multiple属性值只需指定任意字符串,不必定要yes! jsp
三、<bean:cookie>标签:
该标签用于访问客户端的 Cookie 信息,示例以下:
<bean:cookie id="cookie" name="cookie的名字" value="默认值" multiple="yes"/>
解释:将name属性指定的cookie值存储到id属性指定名称的javax.servlet.http.Cookie类型变量中,若是不存在这样的参数,那么采起value属性指定的默认值! 对于multiple属性它是用于检索全部同名参数,此时id属性指定的变量再也不为javax.servlet.http.Cookie类型,而是javax.servlet.http.Cookie[]类型!注意multiple属性值只需指定任意字符串,不必定要yes!注意cookie是以name/value的形式存在的!
四、<bean:page>标签:
该标签用于引用JSP的隐含对象,这些对象包含 Session,config,request,Response,Application五个隐含对象!示例以下:
<bean:page id="this_session" name="session" />
session范围内存储的userid属性值为:<bean:write name="this_session" property="userid">
解释:首先将session引入到page范围内的this_session变量中,此时this_session为session类型的变量!接下来用标签输出session中的userid属性!
------------------------------------------
2、访问WEB应用资源
一、<bean:message>标签:
该标签的使用很是普遍,用于显示资源文件中的信息,示例以下:
a、 <bean:message bundle="资源文件代号" key="资源文件中的key"/>
解释:显示bundle属性指定的资源文件的key属性所表明的字符串,这是最经常使用的!
b、 <bean:message bundle="资源文件代号" name="变量名"/>
解释:将name属性指定的变量值做为bundle属性指定的资源文件的key,显示key表明的字符串!
c、 <bean:message bundle="资源文件代号" name="javaBean变量" property="bean的属性"/>
解释:将name属性指定的Bean中的property属性的值做为bundle指定的资源文件的key,输出key所表明的字符串!
d、 <bean:message bundle="资源文件代号" key="资源文件中的key" arg0="第一个参数值"/>
解释:在资源文件中须要参数的时候就采用这种方式传递参数,若是有N个参数那就按照argN一直传递下去!
二、<bean:resource>标签:
该标签是表示把指定的web资源装载到一个JavaBan中,示例以下:
<bean:resource id="resource" input="yes" name="/index.jsp"/>
解释:以上代码是将index.jsp文件以inputStream的形式保存在id指定的变量中!注意若是不设置input属性,那么id属性指定的变量为字符串类型,他保存的是index.jsp的内容!另外input属性能够设置任意值!我的以为这个标签的做用不大,在调试的时候可使用!
三、<bean:struts>标签:
该标签用于检索struts框架内在的对象,示例以下:
<bean:struts id="" forward=""/>
解释:该标签使用不是很普遍,须要时再查询!
四、<bean:include>标签:
该标签使用不是很普遍,须要时再查询!
-----------------------------------------------------------------------------------------------------------
3、定义变量或输出
一、<bean:define>标签:
该标签用于定义一个变量,示例以下:
a 、 <bean:define id="name" value="chenshan" />
解释:以上代码定义一个普通的字符串id属性指定变量的名称,value指定变量的值!以上标签等价于:String name="chenshan";
b、 <bean:define id="nm" name="persionBean" property="userName"/>
解释:以上代码定义一个nm变量,该变量的值是由name属性指定的已经存在的javabean的userName属性的值!因此name属性指定javabean,property指定bean的属性!
c、 <bean:define id="nm" name="persionBean" type="javax.servlet.servletContext" />
解释:以上代码定义了一个名为"nm"的变量,该变量引用已经存在的persionBean!注意,对于由name属性指定已经存在的javaBean,<bean:define>标签会依次从page、request、session、appliction范围内查找,此外也能够设置scop属性来明确指定这个已经存在的javaBean,这样<bean:define>标签就会在指定的范围内寻找JavaBean!
二、<bean:size>标签:
该标签用于计算Map、Collection或数组的长度,示例以下:
<bean:size id="length" name="nameList"/>
名称列表的长度是:<bean:write name="length"/>
解释:略~~~
三、<bean:write>标签:
该标签的使用也是很是多的,它用于在网页上输出变量值和某个已经存在的Bean的属性值!示例以下:
<%
request.setAttribute("floatval",Float.valueOf("2.0123456"));
Calendar gc=GregoriCalendar.getInstance();//定义一个时间类型的变量
gc.setTime(new java.util.Date(session.getCreationTime()));
request.setAttribute("now",gc);
%>
<bean:write name="floatval" format="#.###"/>
解释:按照format指定的格式四舍五入显示数据!
<bean:write name="now" format="yyyy-mm--dd hh:mm:ss"/>
解释:按照指定的时间格式输出时间!
另外<bean:write>标签的filter属性也是很是重要的,他表示是否按照HTML格式编译输出的信息;默认值为true-不编译,若是设置为false,就表示要编译,那么将输出HTML标记类型的信息!
Struts Bean标签库中的标签能够访问已存在的JavaBean以及它们的属性,还能够定义新的Bean,把它存放在page范围内或用户指定的范围内,供网页其余元素访问。Bean标签库大概分为三类:
1.<bean:cookie>标签
该标签能够检索保存在浏览器中的Cookie,具备属性id,name,multiple,value,id是对cookie在该页面中的惟一标识,在页面其它地方能够经过id进行引用。至关于用cookie直接引用。Name是相应的cookie名称。Multiple能够赋予任意值,若是设置了该属性,能够检索出全部和Cookie名字匹配的Cookie名字匹配的Cookie,此时,id属性定义了一个Cookie数组类型的变量,而不是单个Cookie类型的变量。例如:
<bean:cookie id="myCookie" name="tags/cookiedemo" value="ddddddddd"/>
<bean:write name="myCookie" property="name"/>
<bean:write name="myCookie" property="value"/>
<%
String names=myCookie.getName();
String value=myCookie.getValue();
out.println("this cookie name is "+names+",value is "+value+"");
%>
2.<bean:header>标签
该标签用于检索HTTP请求中的Header信息。若是没有指定multiple属性则依据刚取回的值建立一个String类型的bean。若是指定了multiple属性则依据刚取回的值建立一个String[]类型的数组。例如:
<logic:present header="User-Agent">
<!-- 其它标签经过绑定到page做用域中的属性使用该值 -->
您的浏览器是<bean:header id="userAgent" name="User-Agent"/>
<bean:write name="userAgent" /><br/>
<!-- JSP脚本经过scripting变量使用该值 -->
<%
out.println("您的浏览器是"+userAgent+"。<br/>");
%>
</logic:present>
<%
String id = "userAgent";
String name = "User-Agent";
String value = ((HttpServletRequest)pageContext.getRequest()).getHeader(name);
out.println("============="+value);
%>
3.<bean:parameter>标签
该标签用于检索HTTP请求参数,具备如下属性:
id属性:定义一个java.lang.String类型的变量,这个变量存放在page范围内。
name属性:指定请求参数名。
value属性:请求指定参数的默认值
若是没有指定multiple属性则依据刚取回的值建立一个String类型的bean。若是指定了multiple属性则依据刚取回的值建立一个String[]类型的数组。例如:
<html:link page="/parameter2.jsptestString=this+is+a+test&testInt=123456">
请求参数
</html:link>
<bean:parameter id="test1" name="testString" value="" />
The first test is: <bean:write name="test1" />
<bean:parameter id="test2" name="testInt" value=""/>
The second test is:<bean:write name="test2"/>
4.<bean:page>标签
该标签用于检索获取JSP隐含对象,如session、request和response等,具备如下属性:
id属性:定义了一个引用隐含对象的变量,这个变量存放在page范围
property属性:指定隐含对象的名字,可选值包括application,config,request,response,session 例如:
<bean:page id="mySession" property="session"/>
<%
out.println("Session time:"+mySession.getCreationTime());
%>
<bean:message>:显示Resource Bundle中的消息。
<bean:resource>;把Web资源装载到一个JavaBean中。
<bean:struts>;访问Struts的内在配置对象。
<bean:include>;包含一个web资源。