论坛首页 Java企业应用论坛

struts中logic标签说明

浏览 6495 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-08-03  
1. logic:empty
该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:
1)当Java对象为null时;
2)当String对象为""时;
3)当java.util.Collection对象中的isEmpty()返回true时;
4)当java.util.Map对象中的isEmpty()返回true时。
eg.

该句等同于:
if (userList.isEmpty()) { 
    ... 
} 


2. logic:notEmpty
该标签的应用正好和logic:empty标签相反。

3. logic:equal
该标签为等于比较符。
eg1. 比较用户的状态属性是否1,若为1,输出"启用";
eg2. 如果上例中的value值是动态获得的,例如需要通过bean:write输出,因struts不支持标签嵌套,可采用EL来解决该问题。

4. logic:notEqual
该标签意义与logic:equal相反,使用方法类似,略。

5. logic:forward
该标签用于实现页面导向,查找配置文件的全局forward。struts-config.xml文件中全局转向
eg.
<logic:forward name="redirect"/> 


6. logic:greaterEqual
为大于等于比较符。
eg. 当某学生的成绩大于等于60时,输出“及格”:
 
<logic:greaterEqual name="student" property="scores" value="60"> 
    及格 
</logic:greaterEqual> 


7. logic:greaterThan
此为大于比较符,使用方法同logic:greaterEqual;

8. logic:lessEqual
此为小于等于比较符,使用方法同logic:greaterEqual;

9. logic:lessThan
此为小于比较符,使用方法同logic:greaterEqual;

10. logic:match
此标签比较对象是否相等;
eg1. 检查在request范围内的name属性是否包含"hello"串:
<logic:match name="name" scope="request" value="hello"> 
    <bean:write name="name"/><!--name中有一个“hello”串。--> 
</logic:match>

eg2. 检查在request范围内的name属性是否已“hello”作为起始字符串:
<logic:match name="name" scope="request" value="hello" location="start"> 
    <bean:write name="name"/><!--name以“hello”作为起始字符串。--> 
</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="err" > 
        <bean:write name="err"/> 
    </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. 若有一个名字为“hello”的JavaBean,输出对应字符串:
<logic:present name="hello" > 
    有一个名字为“hello”的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:iterator
用于显示列表为collection的值(List ,ArrayList,HashMap等)。
eg1. 逐一输出用户列表(empList)中用户的姓名:
<logic:iterate id="emp" name="empList"> 
    <bean:write name="emp" property="name"/><br> 
</logic:iterate>

eg2. 从用户列表中输出从1开始的两个用户的姓名
<logic:iterate id="emp" name="empList" indexId="index" offset="1" length="2"> 
    <bean:write name="index"/>.<bean:write name="emp" property="name"/><br> 
</logic:iterate> 

eg3. logic:iterator标签的嵌套举例
<logic:iterate id="emp" indexId="index" name="empList"> 
    <bean:write name="index"/>. <bean:write name="emp" property="name"/><br> 
    <logic:iterate id="address" name="emp" property="addressList" length="3" offset="1"> 
        <bean:write name="address"/><br> 
    </logic:iterate> 
</logic:iterate> 


17. logic:redirect
该标签用于实现页面转向,可传递参数。
eg.
<logic:redirect href="http://www.iteye.com"/>
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics