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"/><logic:forward name="index"></logic:forward>
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 ><logic:messagepresent property="error"> </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="user"><logic:present name="hello" >
有一个名字为“hello”的JavaBean。
</logic:present></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="user" name="userList" indexid="index"> <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></logic:iterate>
<logic:iterate name="userList" indexid="index"> 17. logic:redirect
该标签用于实现页面转向,可传递参数。
eg. <logic:redirect href="http://www.iteye.com"/><logic:iterate>
</logic:iterate></logic:iterate>
分享到:
- 2007-08-15 14:51
- 浏览 1314
- 评论(0)
- 论坛回复 / 浏览 (0 / 3805)
- 查看更多
相关推荐
接着,"struts标签使用举例--logic篇.doc"涵盖了Struts Logic标签库。Logic标签库主要用于控制流程,处理页面跳转和条件判断。比如,`<logic:iterate>`标签可以遍历集合,`<logic:equal>`和`<logic:notEqual>`用于...
以下是对Struts1标签库的详细说明和使用举例: 1. **HTML标签库**: - `html:base`:设置页面的基础URL,用于构造相对链接的绝对地址。 - `html:cancel`:创建一个取消按钮,点击后不会执行validate()方法,而是...
- **Struts 标记库**(Tag Library):提供了一系列丰富的自定义标签,简化了 JSP 页面的开发。 - **BeanUtils**:用于操作 JavaBean 的工具类。 - **Collections**:提供集合操作的方法。 - **Digester**:用于解析...
- 引入Struts标签库:`<%@taglib>`指令用于引入Struts的标签库,如bean、html、logic。 - 页面头部:指定页面编码、声明HTML,使用`<bean:message>`从外部资源文件获取页面标题。 - 表单编写:创建一个HTML表单,...
接着,创建一个对应的HTML表单页面,使用Struts标签库(struts-tiles或struts-logic)来渲染表单元素。同时,还需要在struts-config.xml中配置ActionForm,指定其对应的类名以及Action。 验证规则通常在 validation...
- **业务逻辑层(Business Logic Layer)**:处理业务逻辑。 - **数据访问层(Data Access Layer)**:负责数据存取。 **区别总结:** - **关注点不同**:MVC更加关注于组件之间的解耦,而三层架构更注重于系统结构的...
5. Nested标签库,增强对其他Struts标签的嵌套使用。 【Tiles框架】 Tiles是一个页面布局框架,它允许开发者将Web页面分解为可重用的部分(称为“tiles”),通过模板机制组合成完整页面,实现页面布局与内容的分离...