本篇是struts标签的配置和使用,还有一些示例代码。
配置:
配置国际化支持,在struts-config.xml文件中加入如下配置:<message-resourcesparameter="MessageResources" />
最好提供国际化资源文件(MessageResources.properties),将该文件放到src下
先采用taglib引入
<%@taglib uri="http://struts.apache.org/tags-bean"prefix="bean"%>
<%@taglib uri="http://struts.apache.org/tags-logic"prefix="logic" %>
示例代码和效果:
<body> <h1>测试beanWrite标签</h1><br> <hr> <li>普通字符串</li><br> hello(标签): <bean:write name="hello"/><br> <p> <li>html文本</li><br> bj(default):<bean:write name="bj"/><br> bj(filter="true"):<bean:write name="bj" filter="true"/><br> bj(filter="false"):<bean:write name="bj" filter="false"/><br> <p> <li>格式化日期</li><br> today(default):<bean:write name="today"/><br> today(format="yyyy-MM-dd HH:mm:ss"):<bean:write name="today" format="yyyy-MM-dd HH:mm:ss"/> <p> <li>格式化数字</li><br> n(default):<bean:write name="n"/><br> n(format="###,###.#####"):<bean:write name="n" format="###,###.#####"/><br> n(format="###,###.00000"):<bean:write name="n" format="###,###.00000#"/><br> <P> <li>结构</li><br> 姓名:<input type="text" name="username" value="<bean:write name="user" property="username"/>"> <br> 年龄:<input type="text" name="username" value="<bean:write name="user" property="age"/>"> <br> 所属组:<input type="text" name="username" value="<bean:write name="user" property="group.name"/>"> <br> </body>
这些数据都在后台代码中已经设置到request中,代码很简单,这里就不写设置的过程了。
效果图:
判断empty present
<body> <h1>测试logic:empty,logic:notEmpty,logic:present,logic:notPresent</h1> <hr> <logic:empty name="attr1"> atrr1为空<br> </logic:empty> <logic:notEmpty name="attr1"> atrr1不为空<br> </logic:notEmpty> <logic:present name="attr1"> atrr1存在<br> </logic:present> <logic:notPresent name="attr1"> atrr1不存在<br> </logic:notPresent> <p> <logic:empty name="attr2"> atrr2为空<br> </logic:empty> <logic:notEmpty name="attr2"> atrr2不为空<br> </logic:notEmpty> <logic:present name="attr2"> atrr2存在<br> </logic:present> <logic:notPresent name="attr2"> atrr2不存在<br> </logic:notPresent> <p> <logic:empty name="attr3"> atrr3为空<br> </logic:empty> <logic:notEmpty name="attr3"> atrr3不为空<br> </logic:notEmpty> <logic:present name="attr3"> atrr3存在<br> </logic:present> <logic:notPresent name="attr3"> atrr3不存在<br> </logic:notPresent> <p> </body>
后台设置代码为:
request.setAttribute("attr2", "");
request.setAttribute("attr3", new ArrayList());
其结果为:
atrr1为空,atrr1不存在 没有设置时,atrr1为空,也不存在
atrr2为空,atrr2存在
设置空字符串的时候,为空,但是存在
atrr3为空,atrr3存在
设置了空的ArrayList,为空,也存在
循环:
<body> <h1>测试迭代标签</h1> <hr> <table border="1"> <tr> <td>姓名</td> <td>年龄</td> <td>所属组</td> </tr> <logic:empty name="user_list"> <tr> <td colspan="3">没有符合条件的数据</td> </tr> </logic:empty> <logic:notEmpty name="user_list"> <logic:iterate id="user" name="user_list"> <tr> <td> <bean:write name="user" property="username"/> </td> <td> <bean:write name="user" property="age"/> </td> <td> <bean:write name="user" property="group.name"/> </td> </tr> </logic:iterate> </logic:notEmpty> </table> </body>
后台代码为将人名循环设置到一个list中,在界面循环取得。
效果如下: