ActionContext包含的对象
{
ValueStack 包含当前请求的应用程序的特定领域的所有数据 (默认OGNL的跟对象)
parameters 当前请求中请求参数的映射 (表单参数)
application 应用程序作用域的属性映射
session 会话作用域的属性的映射
attr 按照页面.请求.回话.应用程序作用域的顺序.返回第一个出现的属性
request 请求作用域的属性的映射
}
#session['user'] 用#作用域['属性名'] 表示在ActionContext的Session域中查找user #user表示ActionContext中的user
OGNL表达式指向ValueStack栈中最高层的动作属性
一.数据标签
1.property标签 属性: value default escape
为property标签设置default字符串 <s:property value="stringOne" default="defaultString" /> value值会在ValueStack上查找名叫stringOne的属性,若找不到,则默认返回字符
串"defaultString"
在标签中强制使用OGNL表达式解析 <s:property value="stringOne" default="%{myDefault}" /> value值会在ValueStack上查找名叫stringOne的属性,若找不到,则默认返回ValueStack上的
myDefault属性
2.set标签 属性: name value scope 使name指向新引用valueff8
<s:set name="username" value="user.username" scope="application" /> hello, <s:property value="#application['username']" />
此处将 username 的值设置为 user.username 并制定起作用域在application上
3.push标签 属性 value
<s:push value="user" >
<s:property value="username" /> push标签将value值(user)放置ValueStack顶端.push标签内的内容将直接饮用user的属性而省略user字段.如
</s:push> property将直接显示 user.username 属性
4.bean标签 属性 name, var
<s:bean name="com.v.Test" var="invocation" > 使用了var,则在ActionContext上创建一个命名饮用,不用var,则直接将bean至于ValueStack顶端,可以直接引用他的属性和方法
<s:param name="number" value="10" />
</s:bean>
public class Test {
int number;
public Test() {
System.out.println(number);
}
}
param标签用于传入参数,property标签用于获取参数
5.action标签 属性 name, namespace, var, executeResult, flush, ignoreContextParams
var:动作引用名
flush:boolean 是否在标签结尾刷新写出缓冲
executeResult:boolean 是否排除动作的结果
ignoreContextParams: boolean 动作被调用时是否包含请求参数
<s:action name="TargetAction" executeResult="true" /> 此处排除SUCCESS结果
<s:property value="#request.dataFromSecondAction" /> 从request中获取dataFromSecondAction属性
<action name=TargetAction" class="com.v.TargetAction">
<result>/results/Target.jsp </result>
</action>
在TargetAction的execute()方法中
request.put("dataFromSecondAction", "myData");
return SUCCESS;
二.控制标签
1.iterator标签 属性 values status
<s:iterator value="users" status="isStatus" > status:以itStatus为引用名在ActionContext中创建实例,用于获取name集合中的各种信息,如大小.索引等等
<s:property value="#isStatus.counts" />
<s:property value="here" />
</s:iterator >
输出 1 Mary here
2 Jack here
2.if 和 else标签 属性 test(判定条件)
<s:if test="user.age > 18"> he's an adult </s:if>
<s:elseif test="user.age < 18"> he's not an adult </s:if>
<s:else >he's 18</s:else>
三.其他标签
1.URL标签 属性 value action var includeParams includeContext encode scheme
value:URL的值,自定的URL
action:URL指向的动作
var:自定义URL引用
includeParams:指定当前请求参数是否传递到新URL中,有all, get, none三种
includeContext:若为true,URL使用程序的Context为前缀
scheme:指定协议
URL = <s:url action="IteratorTag" var="myURL" >
<s:param name="id" value="9" />
</s:url >
<a href='<s:property value="#myURL" />'>Click Me </a>
分享到:
相关推荐
Bean Tags 是 Struts 中最基本的标签库,包含的标签可以用来创建 bean、访问 bean 和访问 bean 的属性。同时提供了依据 cookies、headers 和 parameters 的值创建相关 bean 的能力。 * bean:cookie:取回请求中名称...
Struts2标签库是专为Struts2框架设计的一组JSP标签,旨在简化视图层的开发,提高代码的可读性和维护性。这些标签分为UI标签和非UI标签,分别用于生成HTML元素和处理数据访问及逻辑控制。通过使用标签库,开发者可以...
Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据展示、逻辑控制等。在本文中,我们将深入探讨其中的Bean Tags、HTML Tags和Logic Tags。 1. **Bean ...
Struts1是一个经典的Java Web开发框架,其核心之一就是丰富的标签库,它简化了开发者在JSP...尽管Struts1现在已经被更现代的框架如Spring MVC所取代,但了解它的标签库依然对理解Web开发的历程和技术演进有重要意义。
Struts2 标签可以访问不同的作用域的类,例如 request、session、application 等。 标签的优点 Struts2 标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,Struts2 的主题、模板都提供了很好的扩展...
Struts框架是Java Web开发中的一个经典开源框架,它的核心组成部分之一就是标签库,这使得开发者在编写JSP页面时可以更加便捷地处理业务逻辑和展示数据。在Struts中,主要有三种类型的标签:Bean标签、HTML标签和...
总的来说,Struts2标签库大大简化了页面开发,通过这些标签,开发者可以方便地处理用户交互、数据绑定和视图展示,提高了代码的可读性和维护性。在实际开发中,了解和熟练运用这些标签是提升开发效率的关键。
总的来说,Struts1.x的标签库极大地简化了Java Web开发中的许多常见任务,提高了代码的可读性和维护性。每个标签库都有其特定的用途,共同构建了一个强大的视图层框架,使得开发者能够更加专注于业务逻辑,而不是...
3. 配置标签库:在项目的`struts.xml`配置文件中,我们需要声明自定义标签库,包括标签库的名称、前缀和标签实现类。 二、创建标签描述符 1. 创建TLD文件(Tag Library Descriptor):TLD文件用于描述标签库,包括...
- Struts2标签库提供了丰富的标签用于简化页面开发,这些标签支持使用EL表达式来访问应用中的数据。因此,选项B是正确的。至于其他选项: - A. 导入struts标签库的正确代码应该是`<%@ taglib uri="/struts-tags" ...
Struts2是一个基于MVC模式的开源Java Web框架,它提供了丰富的标签库来帮助开发者更高效地进行Web应用程序的开发。这些标签不仅简化了页面逻辑的编写,还提高了代码的可读性和维护性。本文将详细介绍Struts2中常用的...
### Struts2标签库详解 #### 一、引言 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC设计模式的Web应用开发框架。...希望本文能帮助大家更好地理解和应用Struts2框架中的标签库功能。
Struts2提供的丰富标签库大大简化了Web应用的开发过程,尤其是在处理表单数据、显示动态内容以及实现页面逻辑等方面。掌握这些标签的正确使用方法对于提高开发效率至关重要。希望本文能够帮助读者更好地理解和应用...
Struts2框架内置了一系列强大的标签库,这些标签不仅能够简化页面的开发工作,还能提高代码的可读性和可维护性。下面我们将逐一介绍这些标签的具体使用方法。 ##### 1.1 Action标签 Action标签主要用于提交表单...
\n\n- **访问不同作用域的值**:Struts2提供了方便的方式访问不同作用域(page、request、session、application)的值,如`s:property value="#attr.name"`、`s:property value="#request.user1.realName"`、`s:...
### JSTL与Struts标签库详解 #### JSTL(JavaServer Pages Standard Tag Library)简介 JSTL,即JavaServer Pages Standard Tag Library(JavaServer Pages标准标签库),是为简化JavaServer Pages (JSP) 页面开发...
本文将深入探讨Struts2中的BEAN标签库,它是用来处理JavaBean和HTTP请求信息的关键部分。 1. BEAN标签库概述: BEAN标签库主要用于操作和展示JavaBean对象,同时也能够处理HTTP请求的各个方面,如Cookie、Header和...