Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。这里仅对项目中常用的Bean标签及Logic标签做一介绍。
Bean标签: 在访问JavaBeans 及其属性,以及定义一个新的bean 时使用
Logic标签: 管理条件产生的输出和对象集产生的循环
在使用标签的时候需注意struts标签不能嵌套使用
(也就是说在一个标签的属性中不能写另一个标签)。
标签的一些公共属性:
- id 命名自定义标签创建时的脚本变量名。
- name 指出关键字值,在该关键字下可以找到一个存在的bean 。如果给出了scope属性,则仅仅在scope中查找。否则,根据标准的顺序在各种scope中查找:(page, request, session, or application)。
- property 指出bean 中的某个属性,可以在其中检索值。如果没有标明,则使用对象本身的值。
- scope 定义了Bean在哪个范围(page, request, session, or application)中被查找。如果没有标明按顺序查找。脚本变量(见id)将在相同的范围中创建。
一、Bean标签实例说明:
bean:define:有三个用途。我们较多使用为后两者。
一是定义新字符串常量:
<bean:define id="foo" value="This is a new String"/>
<bean:define id="bar" value='<%= "Hello, " + user.getName() %>'/>
<bean:define id="last" scope="session" value='<%= request.getRequestURI() %>'/>
二是复制一个现有的bean给新的bean:
<bean:define id="foo" name="bar"/>
<bean:define id="baz" name="bop" type="com.mycompany.MyClass"/> //定义脚本变量的类型,默认为Object
三是复制一个现有的bean的属性给新的bean:
<bean:define id="bop" name="user" property="role[3].name"/>
<bean:define id="foo" name="bar" property="baz" scope="request" toScope="session"/>
//toScope属性指新bean的scope,默认为page
bean:message:用来实现对国际化的支持的一个标签。
一般使用为:
在资源文件中的定义:info.myKey = Hello
标记的使用:<bean:message key="info.myKey" />
Jsp页面的显示:Hello
需要参数设置时:
在资源文件中的定义:info.myKey = The numbers entered are {0},{1},{2},{3}
标记的使用:<bean:message key="info.myKey" arg0="5" arg1="6" arg2="7" arg3="8"/>
Jsp页面的显示:The numbers entered are 5,6,7,8 // 最多支持4个参数
bean:write:以字符串形式输出bean的属性值。
filter属性:设为true时,将HTML保留字转换为实体("<" 转换为 <);
ignore属性:如果对象不存在,不会抛出异常。
<bean:write name="userRegistration" property="email" scope="request"/>
二、Logic标签实例说明
logic:iterate 标签来迭代集合。
indexId属性:当前访问元素的序号
length属性:指定输出元素的个数
offset属性:指定从第几个元素开始输出
<logic:iterate id="emp" name="empList" indexed="index" length="3" offset="1">
<bean:write name="emp" property="name"/><br>
</logic:iterate>
//该示例表示从第二个元素开始输出,输出三个元素。
logic:empty 该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。
(logic:notEmpty 标签的应用正好和logic:empty标签相反。为防止空指针,不能确定对象是否为空时,务必首先使用该标签进行判断)
该标签用于以下情况:
1)当Java对象为null时;
2)当String对象为""时;
3)当java.util.Collection对象中的isEmpty()返回true时;
4)当java.util.Map对象中的isEmpty()返回true时。
<logic:empty name="listForm" property = "persons">
<div>集合persons为空!</div>
</logic:empty>
logic:equal 该标签为等于比较符。
<logic:empty name="videoId" value = "3">
<div>videoId=3</div>
</logic:empty>
logic:equal同一系列的标签为
logic:equal(=)
logic:notEqual(!=)
logic:greaterEqual(>=)
logic:lessEqual(<=)
logic:graterThan(>)
logic:lessThan(<)
该文章来源:http://kdboy.iteye.com/blog/212541
分享到:
相关推荐
9. **Plug-in架构**:Struts1.x具有强大的插件扩展能力,允许开发者添加自定义的拦截器(Interceptor)、标签库等,以满足项目特殊需求。 10. **预定义的结果类型**:Struts1.x定义了一些预设的Action结果类型,如...
本教程将深入探讨Struts1.x的常用知识,帮助你全面理解并掌握这一经典框架。 一、Struts1.x框架基础 1. **MVC模式**:Struts1.x遵循MVC模式,将应用分为模型(Model)、视图(View)和控制器(Controller)三个...
【Struts1.x入门教程】 Struts1.x是Apache Jakarta项目的一个重要组成部分,它是一个用于构建企业级Web应用程序的开源MVC框架。该框架的主要目标是简化JavaServer Pages(JSP)、Servlet和标签库的使用,同时提升...
### Struts1.x 标签详解 #### 一、引言 Struts 是 Apache Jakarta 的一个著名开源项目,旨在为构建基于 Java 的 Web 应用程序提供一个强大的框架。Struts 提供了大量的标签来帮助开发者简化开发过程。本文将详细...
Struts1.x是一个经典的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在处理用户交互,特别是涉及文件上传和下载功能时,Struts1.x提供了强大的支持。以下是对"struts1.x 上传下载"这个主题的详细...
Validator 插件是 Struts 1.x 中最常用的表单验证插件之一。它提供了丰富的验证规则和错误消息模板,大大简化了验证过程。要使用 Validator 插件,首先需要在 `struts-config.xml` 文件中进行配置,然后在 ...
批量封装对象是Struts 1.x中处理大量数据时常用的一个技巧,它能有效地提高开发效率并减少代码量。 首先,让我们理解什么是批量封装。在处理表单提交或者数据导入等场景时,我们可能需要一次性处理多个相似的对象。...
### Struts 1.x 入门详解 #### 一、Struts 1.x 简介 Struts 是一个开源的 Java 框架,它最初作为 Apache Jakarta 项目的一部分出现,旨在通过改进 JavaServer Pages (JSP)、Servlet、标签库及面向对象的技术水平,...
本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先,我们要明白Struts2标签库与Struts1.x的不同之处。在Struts1.x中,标签库按照功能划分为HTML、Tiles、Logic和Bean等几个...
首先,我们来看一下Struts 1.x与Struts 2.0标签库的区别。Struts 1.x的标签库按照功能分为HTML、Tiles、Logic和Bean等几个部分,而Struts 2.0的标签库虽然没有明确的分类,但通常我们可以将其分为两大类:非UI标签和...
这个面试题文档主要涉及了MVC设计模式、Struts1.x与Struts2.x的区别、SSH框架各自的作用以及Struts的国际化实现。 1. MVC设计模式: MVC是一种软件设计模式,用于分离应用程序的数据模型、用户界面和控制逻辑。...
6.其它常用标签的使用(代码参名为“补充”的文件夹下的tag.jsp) 45 七、国际化 47 1.action级别下的国际化 47 2.配置package的资源文件 48 3.app级别的资源文件 48 4.使用资源文件的原理 49 5.选择使用资源文件 49...
Struts 1.x 和 2.x 是其两个主要版本,但在这里我们主要讨论的是Struts 1.x的相关JAR包,因为标题没有明确指定是哪个版本。 在开发Struts 1.x应用程序时,以下是一些常见的JAR包及其用途: 1. **struts.jar**:这...
Struts标签库是Java开发Web应用时常用的工具,尤其在基于MVC(Model-View-Controller)架构的Struts框架中发挥着重要作用。Struts标签库简化了JSP页面的编写,提高了代码的可读性和可维护性。下面将详细介绍Struts...
接下来,我们将详细介绍 Struts2 中的一些常用标签及其具体应用场景。 #### 标签详解 ##### 1. `<s:a href="">` 该标签用于生成 HTML 的 `<a>` 链接标签,类似于 Struts 1.x 中的 `html:link`。它可以通过 `href`...
EC标签库是由Apache Struts社区开发的,旨在简化Web应用的前端开发,尤其是对于那些基于Struts 1.x的应用程序。它们为开发者提供了大量的预定义UI组件,如表格、下拉框、树形结构、分页等,这些组件不仅易于使用,还...
### 常用标签详解 #### 1. `<s:a>` - 超链接标签 - 相当于HTML的`<a>`标签,但增加了动态属性和事件处理能力。 #### 2. `<s:action>` - 动作调用标签 - 用于在视图层直接调用Action,简化了从前端到后端的交互...
4. **struts-bean.jar** 和 **struts-html.jar**:这两个`jar`包在Struts 1.x中是必需的,分别提供了Bean标签库和HTML标签库。在Struts 2.x中,它们被合并到了struts2-core.jar中。这两个库提供了对JavaBean对象和...
`<s:iterator>`:这是最常用的标签之一,用于遍历集合(如List、Map等),并可以嵌套使用其他标签。 M. `<s:merge>`:合并遍历集合的值,方便处理集合数据。 N. `<s:optgroup>` 和 `<s:option>`:在下拉框中创建...
2. **struts-taglib-x.x.x.jar**:这个JAR文件包含了Struts的自定义JSP标签库,如`<s:form>`、`<s:textfield>`等,这些标签简化了视图层的开发,提供了与模型和控制器交互的能力。 3. **struts-tiles-x.x.x.jar**:...