struts标签使用举例--logic篇

[code]<logic:iterate id="course" name="courseList" >
<tr><td colspan="2"> <input type="checkbox" name="courseId" value="${course.id }" />${course.name }</td></tr>
</logic:iterate>[/code]

1. logic:empty
该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:

1)当Java对象为null时;
2)当String对象为""时;
3)当java.util.Collection对象中的isEmpty()返回true时;
4)当java.util.Map对象中的isEmpty()返回true时。
eg.
[b] <logic:empty name="userList">
...
</logic:empty>
该句等同于:
if (userList.isEmpty()) {
...
} [/b]
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>


第六次学习:

1.逻辑判断标签:
代码



定义一些变量

<jsp:useBean id="bean" scope="page" class="org.apache.struts.webapp.exercise.TestBean" /><%

String bool1 = "true";

String bool2 = "false";

String str1 = "This is a string";

String str2 = "Less than";

String str3 = "XYZ greater than";

%>

相等

<logic:equal name="bean" property="booleanProperty" value="<%= bool1 %>">equal</logic:equal>

不等

<logic:notEqual name="bean" property="booleanProperty" value="<%= bool1 %>">notEqual</logic:notEqual>

大于等于
<logic:greaterEqual name
="bean" property="stringProperty" value="<%= str1 %>">greaterEqual</logic:greaterEqual>

大于

<logic:greaterThan name="bean" property="stringProperty" value="<%= str1 %>">greaterThan</logic:greaterThan>

小于等于

<logic:lessEqual name="bean" property="stringProperty" value="<%= str1 %>">lessEqual</logic:lessEqual>

小于

<logic:lessThan name="bean" property="stringProperty" value="<%= str1 %>">lessThan</logic:lessThan>

不等

<logic:notEqual name="bean" property="stringProperty" value="<%= str1 %>">notEqual</logic:notEqual>


2.逻辑判断标签(数值):

代码



定义变量

<jsp:useBean id="bean" scope="page" class="org.apache.struts.webapp.exercise.TestBean" /><%

String doub1 = "321.0";

String doub2 = "111.0";

String doub3 = "333.0";

String long1 = "321";

String long2 = "111";

String long3 = "333";

String short1 = "987";

String short2 = "654";

String short3 = "999";

%>

等于

<logic:equal name="bean" property="doubleProperty" value="<%= doub2 %>">equal</logic:equal>

大于等于

<logic:greaterEqual name="bean" property="doubleProperty" value="<%= doub2 %>">greaterEqual</logic:greaterEqual>

大于

<logic:greaterThan name="bean" property="doubleProperty" value="<%= doub2 %>">greaterThan</logic:greaterThan>

小于等于

<logic:lessEqual name="bean" property="doubleProperty" value="<%= doub2 %>">lessEqual</logic:lessEqual>

小于

<logic:lessThan name="bean" property="doubleProperty" value="<%= doub2 %>">lessThan</logic:lessThan>

不等于

<logic:notEqual name="bean" property="doubleProperty" value="<%= doub2 %>">notEqual</logic:notEqual>

2.逻辑判断是否为空:
代码


[code]
<jsp:useBean id="bean" scope="page" class="org.apache.struts.webapp.exercise.TestBean" />

<table border="1">

<tr>

<th>Test Type</th>

<th>Correct Value</th>

<th>Test Result</th>

</tr>

<tr>

<td>missing bean, no property attribute</td>

<td>empty</td>

<td>

<logic:empty name="missingBean">empty</logic:empty>

<logic:notEmpty name="missingBean">notEmpty</logic:notEmpty>

</td>

</tr>

<tr>

<td>not-missing bean, no property attribute</td>

<td>notEmpty</td>

<td>

<logic:empty name="bean">empty</logic:empty>

<logic:notEmpty name="bean">notEmpty</logic:notEmpty>

</td>

</tr>

<tr>

<td>null</td>

<td>empty</td>

<td>

<logic:empty name="bean" property="nullProperty">empty</logic:empty>

<logic:notEmpty name="bean" property="nullProperty">notEmpty</logic:notEmpty>

</td>

</tr>

<tr>

<td>empty string</td>

<td>empty</td>

<td>

<logic:empty name="bean" property="emptyStringProperty">empty</logic:empty>

<logic:notEmpty name="bean" property="emptyStringProperty">notEmpty</logic:notEmpty>

</td>

</tr>

<tr>

<td>non-empty string</td>

<td>notEmpty</td>

<td>

<logic:empty name="bean" property="stringProperty">empty</logic:empty>

<logic:notEmpty name="bean" property="stringProperty">notEmpty</logic:notEmpty>

</td>

</tr>

<tr>

<td>empty collection</td>

<td>empty</td>

<td>

<logic:empty name="bean" property="emptyListProperty">empty</logic:empty>

<logic:notEmpty name="bean" property="emptyListProperty">notEmpty</logic:notEmpty>

</td>

</tr>

<tr>

<td>non-empty collection</td>

<td>notEmpty</td>

<td>

<logic:empty name="bean" property="listProperty">empty</logic:empty>

<logic:notEmpty name="bean" property="listProperty">notEmpty</logic:notEmpty>

</td>

</tr>

<tr>

<td>empty map</td>

<td>empty</td>

<td>

<logic:empty name="bean" property="emptyMapProperty">empty</logic:empty>

<logic:notEmpty name="bean" property="emptyMapProperty">notEmpty</logic:notEmpty>

</td>

</tr>

<tr>

<td>non-empty map</td>

<td>notEmpty</td>

<td>

<logic:empty name="bean" property="mapProperty">empty</logic:empty>

<logic:notEmpty name="bean" property="mapProperty">notEmpty</logic:notEmpty>

</td>

</tr>

<tr>

<td>unsupported object</td>

<td>notEmpty</td>

<td>

<logic:empty name="bean" property="intProperty">empty</logic:empty>

<logic:notEmpty name="bean" property="intProperty">notEmpty</logic:notEmpty>

</td>

</tr>

</table>
[/code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值