首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

惯用struts标签使用举例-logic篇

2012-10-21 
常用struts标签使用举例--logic篇1.??logic:empty ??????????该标签是用来判断是否为空的。如果为空,该标签

常用struts标签使用举例--logic篇

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"/>中有一个“hello”串。
??????????????</logic:match>
???????? eg2. 检查在request范围内的name属性是否已“hello”作为起始字符串:
??????????<logic:match name="name" scope="request" value="hello" location="start">
??????????????????????????<bean:write 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.friend365.cn"/>

热点排行