该标签库包含的标签可以用来进行逻辑判断、集合迭代和流程控制。
该标签库包含的标签可以用来进行逻辑判断、集合迭代和流程控制。
1. 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://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>
...
stuList.add(stu);
request.setAttribute("stuList",stuList);
%>
<logic:iterate id="stu" name="stuList">
<tr>
<td>${stu.id }</td>
<td>${stu.name }</td>
<td>${stu.sex }</td>
<td>${stu.age }</td>
<td>${stu.desc }</td>
</tr>
</logic:iterate>
(2) logic:empty
用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:
当Java对象为null时
当String对象为""时
当java.util.Collection对象中的isEmpty()返回true时
当java.util.Map对象中的isEmpty()返回true时
下面的代码示例了logic:empty标签判断集合persons是否为空:
<logic:empty name="stu" property = "books">
<div>集合books为空!</div> </logic:empty>
logic:notEmpty标签的应用正好和logic:empty标签相反。
(3) logic:equal
这里要介绍的不只是logic:equal(=)标签,而是要介绍一类标签,这类标签完成比较运算,
包括:
logic:equal(=)
logic:notEqual(!=)
logic:greaterEqual(>=)
logic:lessEqual(<=)
logic:graterThan(>)
logic:lessThan(<)
Example:
<logic:equal name="stu" property="name" value="Alice">
I am Alice.
</logic:equal>
<bean:define id="count" value="168"/>
<logic:equal name="count" value="168">
Good lucky number.
</logic:equal>
原文http://hi.baidu.com/saint1107/blog/item/498d8b1982249074dbb4bd4c.html
分享到:
相关推荐
Struts1.x 标签库详解 Struts1.x 标签库是 Apache Jakarta 项目的一部分,目标是为构建基于 Java 的 web 应用程序提供一个框架。Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:Bean ...
1. **Struts标签库**:Struts1.x提供了丰富的JSP标签,如logic、bean、html等,简化了页面开发,提高了代码可读性。 2. **Tiles框架集成**:Tiles扩展了Struts,允许定义可重用的页面布局,提高了视图的复用性和可...
HTML版的Struts1.x标签详解帮助文档是开发者们熟悉和掌握该框架的重要参考资料。这份文档详细介绍了如何在JSP页面中使用Struts1.x提供的各种标签,以实现动态网页的构建。 Struts1.x标签库主要分为以下几个部分: ...
### Struts1.x 标签详解 #### 一、引言 Struts 是 Apache Jakarta 的一个著名开源项目,旨在为构建基于 Java 的 Web 应用程序提供一个强大的框架。Struts 提供了大量的标签来帮助开发者简化开发过程。本文将详细...
`Struts 1.x` 提供了一套强大的JSP标签库,如 `<html:form>`、`<logic:iterate>` 等,简化了JSP页面的编写,使代码更易读、更少出错。 ### 7. 表单验证 `Struts 1.x` 提供了内置的表单验证机制,允许开发者在 `...
Struts1 标签库详解 Struts1 标签库是 Apache Jakarta 的一个著名的开源项目,目标是为构建基于 Java 的 web 应用程序提供一个框架。Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:...
### Struts 1.x 在MVC架构中的角色与工作流程详解 #### Struts 概述与MVC设计模式实现 Struts是Apache软件基金会赞助的一个开源项目,它为基于Java的Web应用程序提供了一种实现MVC(Model-View-Controller)设计...
本压缩包文件包含了关于Struts标签的详细解释和源码,非常适合学习和参考。 1. **HTML标签**: HTML标签主要用于生成常见的HTML元素,如表单元素(`<html:form>`)、文本输入(`<html:text>`)、复选框(`...
5. **JSP和Taglib**:展示Struts提供的自定义JSP标签,如logic标签、bean标签和html标签,以及如何在视图层使用它们。 6. **国际化和异常处理**:说明如何在Struts中实现多语言支持和全局异常处理。 7. ** strut2-...
3. `struts-logic.tld`:Logic标签库,提供了一些逻辑控制标签,如条件判断(`<logic:equal>`)、循环(`<logic:iterate>`)、导航(`<logic:forward>`)等,帮助开发者在JSP页面中实现复杂的业务逻辑。 4. `struts-...
Struts 是一个强大的Java Web应用程序开发框架,它提供了一套丰富的自定义标签库,使得开发者在构建用户界面时能够更加方便地处理业务逻辑和数据展示。本文将详细讲解Struts中的Bean Tags、HTML Tags和Logic Tags的...
### Struts技术详解 #### 一、Struts与传统MVC设计模式的联系 Struts框架作为MVC(Model-View-Controller)设计模式的一种实现,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller...
《struts1.x_p配置详解 Struts1.pdf》文档可能侧重于Struts1的配置细节,包括: 1. **Struts1.x的配置优化**:如何调整配置以提高性能和可维护性。 2. **拦截器**:解释Struts1的拦截器机制,以及如何自定义拦截器...
### Struts应用详解 #### 一、Web应用需求分析 在本案例中,我们通过一个简单的Web应用——基于Struts的“HelloWorld”版本来理解Struts框架的基本使用方法及其核心概念。根据需求分析,应用的主要功能包括: 1. ...
Struts1的标签库包括HTML、Bean、Logic、Template和Nested五个部分。 1. HTML标签库: - `<html:base>`:设置页面的基础URL,用于构建相对链接的绝对路径。 - `<html:cancel>`:生成一个取消按钮,点击后跳过表单...
首先,我们需要了解Struts2标签库的主要组成部分,它们分为Action、Display、Logic、Field和UI五大类。这些标签提供了丰富的功能,用于处理表单、展示数据、控制流程等。 1. **Action标签**:这类标签主要用于调用...
### JSP Struts1 标签实例详解 #### 一、概述 Struts1 是一个基于 Java Servlet/JavaServer Pages 技术的企业级 Web 应用框架,它使用 MVC(Model-View-Controller)设计模式来组织应用。Struts1 的标签库提供了...
5. **Nested标签库**:这个库增强了其他Struts标签的嵌套能力,使得在复杂表单和布局中使用Struts标签更加方便。 Struts标签库的一个重要特性是它们支持属性的嵌套引用,这意味着可以使用`.`来访问对象的深层属性,...
### Struts中Logic标签的使用详解 #### 一、引言 在Web开发中,Struts框架因其灵活性和强大的功能而被广泛采用。其中,Logic标签库是Struts框架的一个重要组成部分,它提供了多种用于控制流程和数据处理的标签。...