原文出處:http://www.blogjava.net/amigoxie/archive/2007/02/20/100266.html
- logic:empty
該标簽是用來判斷是否為空的。如果為空,該标簽體中嵌入的内容就會被處理。該标簽用于以下情況:
1)當Java對象為null時;
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://hao123.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>