Struts2—非UI标签—数据标签
2016-06-26 11:27
651 查看
action标签
可以允许在jsp页面中直接调用Action,在调用Action时候,可以指定需要被调用的Action的name和namespace.
如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中.
使用action标签指定属性有:
- id: 可选属性,作为该Action的引用ID
- name:必选属性,指定调用Action
- namespace:可选属性,指定该标签调用Action所属namespace
- executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.
2.bean
name: 实例化的javabean的实现类
var 可选: 指定则实例放入栈的上下文 允许用var直接使用
3.date标签
格式化输出日期
指定日期与当天日期的时间差
name 必填 : 要格式化的日期值
formart 可选: 指定格式格式日期
nice可选:为true、false(默认)。 指定是否输出指定日期与当前日期差值
var 可选: 对象放入值栈,在date标签结束可以通过该属性的值引用
注意:不与nice同时指定,如果同时指定。则忽略formart。
如果两个都没有则去国际化资源文件中寻找key为struts.date.farmat的消息,将该消息当成格式化文本来格式化日期。如果找不到则按默认格式输出。
4.debug标签:
用于辅助调试.在页面上生成超链接,可以查看值栈和StackContext中所有信息
仅有的id属性:没有太大意义的一个属性
5.include
将一个jsp或者servlet包含到当前页面
value 必填:指定要包含的JSP或Servlet。
6.param标签
用于为其他标签提供参数
7.push标签
将某个值放到值栈的栈顶
value必填:指定放入值栈的栈值 !但是只在push标签内,一旦超出,刚刚放入的对象立即被移除
8.set标签
用于将某个值放入指定范围内,例如application范围,session范围
可以理解为定义一个新变量,将已有值复制给新变量,并放入指定范围。 value
指定一个表达式,计算的结果赋变量,如果没有指定value属性,默认将栈顶对象赋给变量。
scope 可选:指定新变量放置的范围,可选application、session、 request 、page、 action(默认) 。如果指定为action,则放入request并放入OGNL的Stack Context。
value可选:指定将赋给变量的值,默认是栈顶。
var 指定该属性,改值放入到值栈中
9.url标签
用于创建URL地址,定义param附加请求参数
action可选:指定生成URL的Action和URL。如果Action不提供则使用Value。如果两个都没有则以当前地址为地址值
achor 可选 指定url的锚点
encode 可选 对指定参数进行编码 ,默认是true。 不支持cookie改写url,支持session
escapeamp 是否将&转义为&,默认为true
var 可选: 是否放入到值栈
includeContext是否将当前上下文包含在URL地址
includeParams是否包含请求参数,改属性值只能为none,get
namespace指定action所属的命名空间
portletmode指定portle模式
scheme指定url使用的协议
10.property标签
用于输出值栈中的对象的属性值
value 指定要输出的对象属性 没有则输出栈顶
default 可选 value为null输出该default值
escape 是否专一输出内容中的html
可以允许在jsp页面中直接调用Action,在调用Action时候,可以指定需要被调用的Action的name和namespace.
如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中.
使用action标签指定属性有:
- id: 可选属性,作为该Action的引用ID
- name:必选属性,指定调用Action
- namespace:可选属性,指定该标签调用Action所属namespace
- executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.
<s:action name="actionTag!default" executeResult="true" namespace="/generic/dataTag"> <param name="username" value=" "/>给action属性复制 <param name="email" value=" "/> </s:action>
2.bean
<!-- 使用bean标签创建一个Person类的实例 --> <s:bean name="org.crazyit.app.dto.Person"> <!-- 使用param标签为Person类的实例传入参数 --> <s:param name="name" value="'yeeku'"/> <s:param name="age" value="29"/> <!-- 因为在bean标签内,Person实例位于ValueStack的栈顶, 故可以直接访问lee.Person实例 --> Person实例的name为:<s:property value="name"/><br/> Person实例的age为:<s:property value="age"/> </s:bean>
name: 实例化的javabean的实现类
var 可选: 指定则实例放入栈的上下文 允许用var直接使用
<!-- 使用bean标签创建一个Person类的实例,为其指定了var属性 --> <s:bean name="org.crazyit.app.dto.Person" var="p"> <!-- 使用param标签为Person类的实例传入参数 --> <s:param name="name" value="'yeeku'"/> <s:param name="age" value="29"/> </s:bean> <!-- 根据JavaBean实例指定的var属性来访问JavaBean实例 --> Person实例的name为:<s:property value="#p.name"/><br/> Person实例的age为:<s:property value="#p.age"/><br/> ${requestScope.p}
3.date标签
格式化输出日期
指定日期与当天日期的时间差
name 必填 : 要格式化的日期值
formart 可选: 指定格式格式日期
nice可选:为true、false(默认)。 指定是否输出指定日期与当前日期差值
var 可选: 对象放入值栈,在date标签结束可以通过该属性的值引用
注意:不与nice同时指定,如果同时指定。则忽略formart。
如果两个都没有则去国际化资源文件中寻找key为struts.date.farmat的消息,将该消息当成格式化文本来格式化日期。如果找不到则按默认格式输出。
<body> <s:bean var="now" name="java.util.Date"/> nice="false",且指定format="dd/MM/yyyy"<br/> <s:date name="#now" format="dd/MM/yyyy" nice="false"/><hr/> nice="true",且指定format="dd/MM/yyyy"<br/> <s:date name="#now" format="dd/MM/yyyy" nice="true"/><hr/> 指定nice="true"<br/> <s:date name="#now" nice="true" /><hr/> nice="false",且没有指定format属性<br/> <s:date name="#now" nice="false"/><hr/> nice="false",没有指定format属性,指定了var<br/> <s:date name="#now" nice="false" var="abc"/><hr/> ${requestScope.abc} <s:property value="#abc"/> </body>
4.debug标签:
<s:debug/>
用于辅助调试.在页面上生成超链接,可以查看值栈和StackContext中所有信息
仅有的id属性:没有太大意义的一个属性
5.include
将一个jsp或者servlet包含到当前页面
value 必填:指定要包含的JSP或Servlet。
<h2>使用s:include标签来包含目标页面</h2> <!-- 使用include标签来包含其他页面 --> <s:include value="included-file.jsp"/> <!-- 使用include标签来包含其他页面,并且传入参数 --> <s:include value="included-file.jsp"> <s:param name="author" value="'yeeku'"/> </s:include> //被包含的页面仅使用表达式语言来输出author参数。 <h3>被包含的页面</h3> author参数值为:${param.author}
6.param标签
用于为其他标签提供参数
7.push标签
将某个值放到值栈的栈顶
value必填:指定放入值栈的栈值 !但是只在push标签内,一旦超出,刚刚放入的对象立即被移除
<h2>使用s:push来将某个值放入ValueStack的栈顶</h2> <!-- 使用bean标签创建一个JavaBean实例, 指定var属性,并将其放入Stack Context中 --> <s:bean name="org.crazyit.app.dto.Person" var="p"> <s:param name="name" value="'yeeku'"/> <s:param name="age" value="29"/> </s:bean> <!-- 将Stack Context中的p对象放入ValueStack栈顶--> <s:push value="#p"> <!-- 输出ValueStack栈顶对象的name和age属性 --> ValueStack栈顶对象的name属性:<s:property value="name"/><br/> ValueStack栈顶对象的age属性:<s:property value="age"/><br/> </s:push>
8.set标签
用于将某个值放入指定范围内,例如application范围,session范围
可以理解为定义一个新变量,将已有值复制给新变量,并放入指定范围。 value
指定一个表达式,计算的结果赋变量,如果没有指定value属性,默认将栈顶对象赋给变量。
scope 可选:指定新变量放置的范围,可选application、session、 request 、page、 action(默认) 。如果指定为action,则放入request并放入OGNL的Stack Context。
value可选:指定将赋给变量的值,默认是栈顶。
var 指定该属性,改值放入到值栈中
<h2>使用s:set设置一个新变量</h2> <!-- 使用bean标签定义一个JavaBean实例 --> <s:bean name="org.crazyit.app.dto.Person" id="p"> <s:param name="name" value="'yeeku'"/> <s:param name="age" value="29"/> </s:bean> 将Stack Context中的p值放入默认范围(action)内。<br/> <s:set value="#p" name="xxx"/> Stack Context内xxx对象的name属性:<s:property value="#xxx.name"/><br/> Stack Context内xxx对象的age属性:<s:property value="#xxx.age"/><br/> request范围的xxx对象的name属性:${requestScope.xxx.name}<br/> request范围的xxx对象的age属性:${requestScope.xxx.age}<hr/> 将Stack Context中的p值放入application范围内。<br/> <s:set value="#p" name="yyy" scope="application"/> application范围的yyy对象的name属性:${applicationScope.yyy.name}<br/> application范围的yyy对象的age属性:${applicationScope.yyy.age}<hr/> 将Stack Context中的p值放入session范围内。<br/> <s:set value="#p" name="zzz" scope="session"/> session范围的zzz对象的name属性:${sessionScope.zzz.name}<br/> session范围的zzz对象的age属性:${sessionScope.zzz.age}
9.url标签
用于创建URL地址,定义param附加请求参数
action可选:指定生成URL的Action和URL。如果Action不提供则使用Value。如果两个都没有则以当前地址为地址值
achor 可选 指定url的锚点
encode 可选 对指定参数进行编码 ,默认是true。 不支持cookie改写url,支持session
escapeamp 是否将&转义为&,默认为true
var 可选: 是否放入到值栈
includeContext是否将当前上下文包含在URL地址
includeParams是否包含请求参数,改属性值只能为none,get
namespace指定action所属的命名空间
portletmode指定portle模式
scheme指定url使用的协议
<h2>s:url来生成一个URL地址</h2> 只指定value属性的形式。<br/> <s:url value="editGadget.action"/> <hr/> 指定action属性,且使用param传入参数的形式。<br/> <s:url action="showBook"> <s:param name="author" value="'yeeku'" /> </s:url> <hr/> 既不指定action属性,也不指定value属性,但使用param传入参数的形式。<br/> <s:url includeParams="get" > <s:param name="id" value="%{'22'}"/> </s:url> <hr/> 同时指定action属性和value属性,且使用param传入参数的形式。<br/> <s:url action="showBook" value="xxxx"> <s:param name="author" value="'yeeku'" /> </s:url>
10.property标签
用于输出值栈中的对象的属性值
value 指定要输出的对象属性 没有则输出栈顶
default 可选 value为null输出该default值
escape 是否专一输出内容中的html
相关文章推荐
- JQuery+Strusts1.x无刷新登录
- java struts常见错误以及原因分析
- Struts之logic标签库详解
- 通过实例深入学习Java的Struts框架中的OGNL表达式使用
- Java的Struts框架中append标签与generator标签的使用
- struts2的select标签用法实例分析
- SSH框架网上商城项目第20战之在线支付平台
- 在Java的Struts框架下进行web编程的入门教程
- 详解Java的Struts框架中注释的用法
- java中struts 框架的实现
- 利用Java的Struts框架实现电子邮件发送功能
- 在Java的Struts框架中ONGL表达式的基础使用入门
- 详解Java的Struts框架中栈值和OGNL的使用
- Java的Struts框架简介与环境配置教程
- Java的Struts框架中的if/else标签使用详解
- 简单说明Java的Struts框架中merge标签的使用方法
- 详解Java的Struts框架中上传文件和客户端验证的实现
- Java的Struts框架中Action的编写与拦截器的使用方法
- sprng和struts有什么区别?
- Java的Struts框架中<results>标签的使用方法