struts1 logic标签
1. logic:empty
该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。
该标签用于以下情况:
1)当Java对象为null时;
2)当String对象为""时;
3)当java.util.Collection对象中的isEmpty()返回true时;
4)当java.util.Map对象中的isEmpty()返回true时。
< logic:empty name="userList">
...
< /logic:empty>
2. logic:notEmpty
该标签的应用正好和logic:empty标签相反。
3. logic:equal
该标签为等于比较符。
①比较用户的状态属性是否1,若为1,输出"启用";
< logic:equal name="user" property="state" value="1">
启用
< /logic:equal>
②如果上例中的value值是动态获得的,例如需要通过bean:write输出,因struts不支持标签嵌套,可采用EL来解决该问题。
< logic:equal name="charge" property="num" value="${business.num}">
......
< /logic:equal>
4. logic:notEqual
该标签意义与logic:equal相反,使用方法类似。
5. logic:present
此标签用于判断request对象传递参数是否存在。
eg1. user对象和它的name属性在request中都存在时,输出相应字符串:
< logic:present name="user" property="name">
user对象和该对象的name属性都存在
< /logic:present>
eg2. 若有一个名字为“user”的JavaBean,输出对应字符串:
< logic:present name="user" >
有一个名字为“user”的JavaBean。
< /logic:present>
eg3.
< logic:present header="user-agent">
we got a user-agent header.
< /logic:present>
6. logic:iterator
用于显示列表为collection的值(List ,ArrayList,HashMap等)。
eg1. 逐一输出用户列表(userlList)中用户的姓名:
< logic:iterate id="user" name="userList">
< bean:write name="user" property="name"/>< br>
< /logic:iterate>
eg2. 从用户列表中输出从1开始的两个用户的姓名
< logic:iterate id="user" name="userList" indexId="index" offset="1" length="2">
< bean:write name="index"/>.< bean:write name="user" property="name"/>< br>
< /logic:iterate>
eg3. logic:iterator标签的嵌套举例
< logic:iterate id="user" indexId="index" name="userList">
< bean:write name="index"/>. < bean:write name="user" property="name"/>< br>
< logic:iterate id="address" name="user" property="addressList" length="3" offset="1">
< bean:write name="address"/>< br>
< /logic:iterate>
< /logic:iterate>