`
xjlnjut730
  • 浏览: 56854 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Structs-Logic标签

阅读更多
Struts的Logic标签可以根据特定的逻辑条件来判断网页的内容,或者循环遍历集合元素,它和HTML,Bean标签是Struts应用种最常用的三个标签.它的功能主要是比较运算,进行字符串的匹配,判断指定的内容是否存在,循环遍历集合,进行请求转发和重定向,下面具体的说明标签的用途:
<logic:equal>变量等于指定的常量
<logic:notEqual>变量不等于指定的常量
<logic:lessThan>变量小于指定的常量
<logic:lessEqual>变量小于或者等于指定的常量
<logic:geraterThan>变量大于指定的常量
<logic:geraterEqual>变量大于或等于指定的常量
以上这些标签都很类似,有共同的属性,cookie属性指定cookie属性的值,然后用value设置的常量进行比较.header属性设置header请求头的值,也是通过value属性设置的值进行比较.parameter属性设置一个请求参数,然后也是通过value属性设置的值进行比较.name属性设置一个变量,然后用value比较.如果同时设置了name和property属性,此时name属性指定已经存在的JavaBean,property属性指定Bean的属性.这个标签感觉十分简单,用法也十分单一,下面研究一下进行字符串匹配的标签和判断特定内容的标签.
<logic:match>标签是判断变量种是否包含常量字符串的,<logic:netMatch>也判断是否不包含字符串的,用name属性定义一个字符串变量,然后用value属性的值去判断变量是否包含这个字符串或者是不包含这个字符串,判断成功返回true.
<logic:empty>和<logic:netEmpty>标签可以判断指定的变量是否为空的字符串,可以通过name属性来判断一个字符串是否为null.例如是请求参数的字符串.
<logic:present>和<logic:notPresent>标签可以判断指定的对象是否为空,这个标签的属性很多.cookie属性判断Cookie是否存在.Header属性判断HTPP请求头是否存在.role属性是判断当前的权限的用户是否是指定的安全角色.user属性是判断当前通过权限验证的用户是否拥有指定的用户名.parameter属性是判断请求的参数是否存在.name属性是用来判断指定的Bean是否存在.同时设置name和property属性就是判断Bean种的具体属性是否存在了.
<logic:messagesPresent>和<logic:messagesNotPresent>标签是用来判断是否在request范围内的特定的ActionMessages或者是子类ActionErrors对象.name属性是用来检索ActionMessages对象的key,property指定从ActionMessages集合对象中检索某条消息key也就是具体的ActionMessage对象.
进行循环遍历Logic标签是Logic标签库中最复杂的标签,也是用途最广泛的标签,它能够在一个循环中遍历数组,Collection,Enumeration,Irerator或者Map中的所有元素
1)              遍历集合的标签<logic:iterate>的name属性指定需要进行遍历的集合对象,它每次从集合中检索出一个元素,然后存放在page范围内,并以id属性指定这个字符串来命名这个元素,最好是在里面嵌套一个<bean:write>标签,把刚刚遍历的第一个id指定的字符串输出,然后在循环在输出.length属性需要遍历的元素的数目,如果没有设置length属性,就遍历集合中的所有元素.offset属性指定开始遍历的其实位置,默认值是0.indexId属性定义一个代表当前被遍历元素的系列号,这个变量存放在page范围内,可以被<bean:write>标签访问输出输出的是int的数字.例如1.2.3.4等.可以用户输出输出的元素的系列号.
2)              遍历Map是通过<logic:iterate>标签,name属性指定一个HashMap,存放在request范围,然后赋给id指定的变量,indexId可以指定索引编号,然后通过<bean:write>标签输出出来.在HashMap的每一个元素都是一个集合对象,所以可以嵌套使用.就是说<logic:inerate>这个标签既可以把Collection的元素弄出来负给一个变量也可以弄Map的.所以说它的功能强大.还有一个collection属性可以设置一个表达式,这个表达式返回的结果可以作为,<logic:inerate>标签输出的集合或者Map.这个属性类似name属性.
最后研究一下进行请求转发和重定向的Logic标签,<logic:forward>标签用于请求转发,它的name属性指定转发的目标,与Struts配置文件中的<global-forwards>元素和的子元素<forward>元素匹配.简单的说就是<logic:forward>标签的name属性定义的值,要去找到<golbal-forwards>子元素<forward>元素的匹配的name属性,然后通过path指定的路径进行转发.重定向用<logic:redierct>标签它的forward,href和page属性指定重定向的目标,这几个属性和<html:link>标签的属性用法十分相似.
关于标签的部分我就说到这里,因为我个人觉得在Struts中最常用的无非也就是这三个标签库了.我以前还写过一个Struts的分页应用,过些天继续发布到我的Blog上. (网友们的支持,是我继续写技术文章的动力!)
分享到:
评论

相关推荐

    structs标签

    首先,我们来看“6-Struts标签-BEAN标签”。BEAN标签主要用于处理和展示JavaBean对象。例如,`&lt;bean:define&gt;`用于定义变量,将JavaBean的属性值绑定到一个页面作用域或请求作用域的变量;`&lt;bean:message&gt;`用于显示...

    struts标签-手册.chm

    Structs - 标签库(HTML)- - Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。 标签库 说明 HTML 标签 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 Bean ...

    structs详解--课件

    在Struts中,视图主要由JSP(JavaServer Pages)页面实现,它们可以通过JSP标签库(如HTML Tags, Logic Tags)进行定制和增强。 **控制器(Controller)** 控制器负责协调模型和视图,处理用户请求,根据用户输入...

    struts-1.2.9

    Struts通过自定义标签库(如logic、bean、html等)简化了JSP中的编程。 7. **Internationalization (i18n)**:Struts支持多语言,通过资源文件管理各种语言的文本,提供全球化支持。 8. **Validation**:Struts...

    struts1.x标签库详解

    Logic Tags 库包含的标签可以用来进行逻辑判断、集合迭代和流程控制。 * logic:equal 标签:判断两个值是否相等。 * logic:forward 标签:转发到另一个页面。 * logic:iterate 标签:迭代一个集合。 * logic:...

    Java+structs快速学习指南

    Struts Logic 标签库是Struts框架中一个非常重要的组成部分,它提供了一系列逻辑控制标签,帮助开发者更容易地实现复杂的业务逻辑处理。下面我们将详细介绍Struts Logic 标签库中的各个标签及其用法。 ##### 1. `...

    structs标签2

    在“structs标签2”中,我们将探讨Struts框架中的一些关键标签,以及如何利用这些标签来构建高效、可维护的Web应用。 1. **struts-config.xml配置文件** 在Struts框架中,`struts-config.xml`是核心配置文件,定义...

    北大 JAVA STRUCTS PPT

    - `&lt;logic:equal&gt;` 和 `&lt;logic:notEqual&gt;` 标签则用于条件判断,它们分别检查两个表达式是否相等或不相等。在阶段3中,这些标签用于隐藏“不公开”的日记,除非用户已登录并且是日记的主人。 3. **Struts BEAN ...

    structs程序设计从入门到精通word文档

    - **如何使用Logic标签进行基于值的条件显示**:展示了如何使用Logic标签根据条件显示或隐藏页面内容。 - **如何使用Logic标签进行字符串匹配**:介绍了如何使用Logic标签进行字符串匹配操作。 - **如何使用Logic...

    structs api

    10. **JSP标签库**:Struts提供了一系列的JSP标签,如`&lt;html:form&gt;`,`&lt;logic:iterate&gt;`等,使JSP页面更加简洁和易读。 在使用Struts API时,你需要了解每个组件的作用,以及它们如何通过配置文件协同工作。同时,...

    structs文件配置

    - `struts-logic.tld`用于逻辑控制。 - `struts-nested.tld`用于处理嵌套对象。 - `struts-tiles.tld`用于页面布局管理。 - **Struts Action Servlet**:`ActionServlet`是Struts框架的核心Servlet,它处理所有...

    structs教程

    Struts提供了丰富的标签库,如logic、bean、html、tiles等,简化了JSP页面的编写,提高了代码的可读性和可维护性。 七、国际化与本地化 Struts支持多语言环境,通过资源包(Properties文件)实现国际化和本地化。 ...

    structs应用的一个小实例

    你可以使用 JSP 标签(如 `logic:iterate` 或 `bean:write`)来显示 ActionForm 中的数据。 最后,别忘了在项目的 web.xml 中配置 Struts 的前端控制器 Filter —— `StrutsFilter`。 通过这个简单的 Struts 示例...

    精通structs笔记

    Struts提供了丰富的标签库,如logic标签库用于控制流程,bean标签库用于显示和操作JavaBean,html标签库用于创建HTML表单元素等,这些标签使JSP页面更加简洁易读。 七、国际化与本地化 Struts支持多语言环境,通过...

    struts-1.3.10

    Tiles框架允许创建可重用的布局和组件,而其他三个库分别提供了Bean标签(用于处理Java对象)、HTML标签(用于表单元素和链接)和Logic标签(用于控制流程)。 3. **国际化与本地化支持(struts-resource.jar)**:...

    JAVA高级题库,structs,herbernet

    此外,Struts提供了客户化标签库,如`&lt;logic&gt;`、`&lt;bean&gt;`、`&lt;html&gt;`等,简化JSP页面中的业务逻辑和控制流。 2. 控制器(Controller)组件:由Servlets组成,如ActionServlet和Action类。ActionServlet处理HTTP请求...

    某公司培训用的structs课件

    `&lt;logic&gt;`、`&lt;bean&gt;`和`&lt;html&gt;`标签库是Struts提供的JSP标签,它们扩展了JSP的功能。`&lt;logic&gt;`标签主要用于控制流程,如条件判断和循环,相当于简化了if-else和for等Java语句。`&lt;bean&gt;`标签则用来读取和写入JavaBean...

    Struts1.x系列教程文档【技术文档】

    6. **JSP标签库**:Struts1提供了一系列JSP标签,如logic标签库、bean标签库和html标签库,简化了视图层的开发,使得开发者可以专注于业务逻辑而不是HTML的细节。 7. **国际化与本地化**:Struts1支持多语言环境,...

    Spring,Structs,Hibernate API帮助文档(CHM格式)

    文档中包括了各种内置标签的用法,如logic标签、bean标签、html标签、s标签等,以及自定义标签的创建。通过学习这个API,开发者可以更好地掌握如何利用Struts 2创建高效、可维护的Web界面。 这些CHM文档是开发者在...

Global site tag (gtag.js) - Google Analytics