该标签是用来判定是否为空的。假如为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:
!-- frame contents --!-- /frame contents --1)当Java对象为null时;
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)2)当String对象为""时;
3)当java.util.Collection对象中的isEmpty()返回true时;
4)当java.util.Map对象中的isEmpty()返回true时。
eg.
logic:empty name="userList"
...
/logic:empty
该句等同于:
if (userList.isEmpty()) {
...
}
2. logic:notEmpty
该标签的应用正好和logic:empty标签相反,略。
3. logic:equal
该标签为等于比较符。
eg1. 比较用户的状态属性是否1,若为1,输出"启用";
logic:equal name="user" property="state" value="1"
启用
/logic:equal
eg2. 假如上例中的value值是动态获得的,例如需要通过bean:write输出,因struts不支持标签嵌套,可采用EL来解决该问题。
logic:equal name="charge" property="num" value="${business.num}"
......
/logic:equal
4. logic:notEqual
该标签意义与logic:equal相反,使用方法类似,略。
5. logic:forward
该标签用于实现页面导向,查找配置文件的全局forward。
eg. logic:forward name="index"/
6. logic:greaterEqual
为大于等于比较符。
eg. 当某学生的成绩大于等于90时,输出“优秀”:
logic:greaterEqual name="student" property="score" value="90"
优秀
/logic:greaterEqual
7. logic:greaterThan
此为大于比较符,使用方法同logic:greaterEqual,略;
8. logic:lessEqual
此为小于等于比较符,使用方法同logic:greaterEqual,略;
9. logic:lessThan
此为小于比较符,使用方法同logic:greaterEqual,略;
10. logic:match
此标签比较对象是否相等;
eg1. 检查在request范围内的name属性是否包含"amigo"串:
logic:match name="name" scope="request" value="amigo"
bean:write name="name"/中有一个“amigo”串。
/logic:match
eg2. 检查在request范围内的name属性是否已“amigo”作为起始字符串:
logic:match name="name" scope="request" value="amigo" location="start"
bean:write name="name"/以“amigo”作为起始字符串。
/logic:match
eg3.
logic:match header="user-agent" value="Windows"
你运行的是Windows系统
/logic:match
11. logic:notMatch
此标签用于比较对象是否不相同,与logic:match意义相反,使用方法类似,略。
12. logic:messagePresent
该标签用于判定ActionMessages/ActionErrors对象是否存在;
eg. 假如存在error信息,将其全部输出:
logic:messagePresent property="error"
Html:messages property="error" id="errMsg"
bean:write name="errMsg"/
/html:messages
/logic:messagePresent
13. logic:messagesNotPresent
该标签用于判定ActionMessages/ActionErrors对象是否不存在,使用方法与logic:messagePresent类似,略
14. 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
15. logic:notPresent
此标签用于判定request对象传递参数是否不存在,意义与了logic:present相反,使用方法类似,略。
16. logic:redirect
该标签用于实现页面转向,可传递参数。
eg1. logic:redirect href="http://www.chinaitlab.com"/
17. 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