<bean:write>标签
<bean:write>能输出request、session、application、page四个域中能访问到的变量,与EL表达式不同的是,如果变量不存在或者访问不到,会抛出异常
<bean:write>常用的属性有如下几个:
1、name,用来指定属性的名字
2、filter,用来指定是否屏蔽到属性值的HTML格式
3、property,用来指定name所代表的对象的属性名字
4、format,用来指定显示的时间,数字,日期等的格式
例1:
某处设置了request.setAttribute("hello","helloworld");
则在某个jsp页面中,用struts的write标签取出并显示的方式如下:
<bean:writename="hello"/>,则页面上显示出hello world。
例2:
某处设置了request.setAttribute("bj","<fontcolor=‘red>欢迎你</font>");
则在某个jsp页面中,用struts的write标签取出并按红色的方式显示的方式如下:
<bean:writename="bj" filter="false"/>,则页面上显示出红色的欢迎你。如果filter属性不设置为false,则默认为true,那么显示出的内容就为<fontcolor=‘red>欢迎你</font>。
例3:
某处设置了request.setAttribute("date",newDate());
则在某个jsp页面中,用struts的write标签取出并按指定方式显示日期的方法如下:
<bean:writename=“date”/>,此为默认的显示方法,显示出的时间为:
Fri Mar 2815:04:21 CST 2008
<bean:writename=“date” format="yyyy-MM-dd HH:mm:ss"/>,此为自己指定日期的显示格式,显示出的时间为2008-3-28 15:04:21
例4:
某处设置了request.setAttribute("n",“1223333.333”);
则在某个jsp页面中,用struts的write标签取出并按指定方式显示数字的方法如下:
<bean:writename=“n”/>,此为默认的显示方法,显示出的数字位1223333.333
<bean:writename=“n” format="###,###.####"/>,此为自己指定数字的显示格式,显示出的时间为1,223,333.333
如果希望小数点后的不足四位时,缺位补0,则应
<bean:writename=“n” format="###,###.0000"/>,此为自己指定数字的显示格式,显示出的时间为1,223,333.3330
例5:
假如有User类和Groupe类,User类有属性名字userName,年龄age,性别sex和所属的Groupe,Groupe类有属性组名groupeName,并均具有相应的get和set方法。
某处设置了request.setAttribute("user",newUser("张三","20","男",new Groupe("三组")));
则在某个jsp页面中,用struts的write标签取出并按指定方式显示结构体的方法如下:
用户名:<input type="text" value="<bean:write name="user" property="userName"/>"> 年龄:<input type="text" value="<bean:write name="user" property="age"/>"> 性别:<input type="text" value="<bean:write name="user" property="sex"/>"> 组名:<input type="text" value="<bean:write name="user" property="groupe.groupeName"/>"><bean:cookie>、<bean:parameter>、<bean:header>标签
<bean:cookie>、<bean:parameter>、<bean:header>标签用于获取cookie、地址栏参数、header中的对象,这几个标签不能输出,只能将获取到的对象保存到另一个变量中,供其他标签使用
<bean:cookie id="sessionid" name="JSESSIONID"/> <!--获取cookieJSESSIONID放进名为sessionid的变量中--> <bean:write name="sessionid" property="value"/> <bean:parameter id="action1" name="action2"/> <!--获取地址栏名为action2的参数,放入名为action1的变量中--> <bean:write name="action1" /> <bean:header id="host1" name="host"/> <!--获取Header参数host,放入变量host1--> <bean:write name="host1" />
<bean:message>标签
<bean:message>标签用于输出ResourceBundle中的一条消息.<bean:message>标签的bundle属性指定Resource Bundle,它和Struts配置文件的<message:resource>元素的可以属性相匹配.如果没有设置bundle属性,就采用默认的ResourceBundle。
Beantaglibs应用的Struts配置文件(Struts-config.xml)中配置了两个ResourceBundle:
<message-resources parameter="ApplicationResource" /> <message-resources parameter="SpecialResouces" key="special"/>第一个Resource bundle 没有指定key属性,因此默认的ResourceBundle,它的资源文件ApplicationResource.properties,在这个文件中定义一条消息:
.hello=Hello,{0}
第二个Resource bundle指定key属性为”special”,它的资源文件为SpecialResources.properties,这个文件中定义了一条消息:
.hello=Hello,everyone!
在<bean:message>标签中指定消息key有三种方式:
1.<bean:message>标签的key属性直接指定消息key,例如:
<bean:message bundle="special" key="hello"/>2.<bean:message>标签的name属性指定一个可以转化为字符串的变量,这个变量的字符串值为消息key,例如:
<% //这个hello要对应到资源文件中的hello Request.setAttribute("StringBean","hello"); %> <bean:message bundle="special" name="stringBean"/>
3.同时指定<bean:message>标签的name属性和property属性.name属性指定一个JavaBean,property属性指定JavaBean的一个属性,这个JavaBean的属性的值就是消息的key,例如
<% SomeBean bean = new SomeBean(); Bean.setName("hello"); Request.setAttribute("someBean",bean); %> <bean:message bundle="special" name="someBean" property="name"/>
上面定义一个SomeBean类型的someBean变量,它的name属性为”hello”,因此消息的key为”hello”
对于带参数的复合消息,可以使用Bean:message标签中的arg0,arg1等属性来设置参数值
<bean:message key="hello" arg0="Linda"/>资源文件ApplicationResources.properties
welcome =<h1>欢迎光临!!!!!!</h1> welcome1 =<h1>欢迎 {0} 光临!!!!!!</h1><bean:resource>标签
<bean:resource>标签用于检索Web资源的内容,它具有以下属性:
1. id属性:定义一个代表Web资源的变量。
2. name属性:指定Web资源的路径。
3. input属性:如果没有设置input属性,则id属性定义的变量为字符串类型;如果给input属性设置了值(可以是任意字符串),则id属性定义的变量为java.io.InputStream类型。
<bean:struts>标签
<bean:struts>标签用于检索Struts框架内在的对象,如ActionFormBean、ActionForward或ActionMapping。<bean:struts>标签的id属性定义一个page范围的变量,用来引用Struts框架的内在对象。必须设置formbean、forward或mapping属性中的一个属性,来指定被引用的Struts内在对象:
1. formbean属性:指定ActionFormBean对象,和Struts配置文件的<form-bean>元素匹配。
2. forward属性:指定ActionForward对象,和Struts配置文件的<global-forwards>元素的<forward>子元素匹配。
3. mapping属性:指定ActionMapping对象,和Struts配置文件的<action>元素匹配。
<bean:include>标签
<bean:include>标签和标准的JSP标签<jsp:include>很相似,都可以用来包含其他Web资源的内容,区别在于<bean:include>标签把其他Web资源的内容存放在一个变量中,而不是直接显示到网页上。<bean:include>标签的id属性定义一个代表其他Web资源的变量。
可以通过<bean:include>标签的forward、page或href属性来指定其他Web资源:
1. forward:指定全局转发路径,和Struts配置文件的<global-forwards>元素中的<forward>子元素匹配。
2. page:指定相对于当前应用的URI,以“/”开头。
3. href:指定完整的URL。
原文地址:http://blog.csdn.net/u012152619/article/details/43190535