struts2标签
一、通用标签
1、property
Name |
Required |
Default |
Evaluated |
Type |
Description |
|---|---|---|---|---|---|
| default | false | false | String | The default value to be used if value attribute is null | |
| escape | false | true | false | Boolean | Deprecated. Use 'escapeHtml'. Whether to escape HTML |
| escapeCsv | false | false | false | Boolean | Whether to escape CSV (useful to escape a value for a column) |
| escapeHtml | false | true | false | Boolean | Whether to escape HTML |
| escapeJavaScript | false | false | false | Boolean | Whether to escape Javascript |
| escapeXml | false | false | false | Boolean | Whether to escape XML |
| value | false | <top of stack> | false | Object | Value to be displayed |
<s:property value="username" />输出变量名为username的变量,value中的值会被当成ognl表达式输出
<s:property value="'username'" />输出username,加了单引号不会当成ognl表达式而是当成字符串输出
<s:property value="admin" default="xiaoming" /> 输出变量名为admin的值,如果没有则默认为xiaoming
<s:property value="'<br/>'" escape="false" />
2、set
Name |
Required |
Default |
Evaluated |
Type |
Description |
|---|---|---|---|---|---|
| id | false | false | String | Deprecated. Use 'var' instead | |
| name | false | false | String | Deprecated. Use 'var' instead | |
| scope | false | action | false | String | The scope in which to assign the variable. Can be application, session, request, page, or action. |
| value | false | false | String | The value that is assigned to the variable named name | |
| var | false | false | String | Name used to reference the value pushed into the Value Stack | |
<s:set var="username" value="xiaomi" />默认为request和ActionContext
从request取值<s:property value="#request.username" />(debug标签可能在username还未放到request中时就已经形成了,所以有时候会看不到)
从ActionContext取值<s:property value="#username" />
设定范围<s:set var="username" value="xiaomi" scope="session" />
从设定范围取值<s:property value="#session.username" />
3、bean
Name |
Required |
Default |
Evaluated |
Type |
Description |
|---|---|---|---|---|---|
| id | false | false | String | Deprecated. Use 'var' instead | |
| name | true | false | String | The class name of the bean to be instantiated (must respect JavaBean specification) | |
| var | false | false | String |
Name used to reference the value pushed into the Value Stack |
|
调用无参构造函数构造一个User类示例:xiaomi<s:bean name="cn.orlion.model.User var="xiaomi"></s:bean>
调用无参构造函数构造一个User类示例:dami,初始化name为dami
<s:bean name="cn.orlion.model.User var="dami">
<s:param name="name" value="'dami'"></s:param> 这里value中的值必须要用单引号引起来,不然会被当成ognl表达式!!!
</s:bean>
4、include
Name |
Required |
Default |
Evaluated |
Type |
Description |
|---|---|---|---|---|---|
| value | true | false | String | The jsp/servlet output to include | |
<s:include value="/index.jsp" />
<s:include value="/index.jsp">
<s:param name="param1">value1</s:param> (value会被当成字符串处理)
<s:param name="param2">value2</s:param>
</s:include>
包含动态文件:
<s:set name="url" value="'/index.jsp'" />
<s:include value="%{#url}" />
5、param
Name |
Required |
Default |
Evaluated |
Type |
Description |
|---|---|---|---|---|---|
| name | false | false | String | Name of Parameter to set | |
| suppressEmptyParameters | false | false | false | Boolean | Whether to suppress empty parameters |
| value | false | The value of evaluating provided name against stack | false | String | Value expression for Parameter to set |
可以:<s:param name="param1" value="value1" />这里value1会被当成ognl表达式
也可以:<s:param name="param1" />value1</s:param>这里value1会被当成字符串
6、debug
不多作介绍
二、控制标签
1、if elseif else
<s:if test="%{false}">
<p>1</p>
</s:if>
<s:elseif test="%{true}">
<p>2</p>
</s:elseif>
<s:else>
<p>3</p>
</s:else>
2、iterator
Name |
Required |
Default |
Evaluated |
Type |
Description |
|---|---|---|---|---|---|
| begin | false | 0 | false | Integer | if specified the iteration will start on that index |
| end | false | Size of the 'values' List or array, or 0 if 'step' is negative | false | Integer | if specified the iteration will end on that index(inclusive) |
| id | false | false | String | Deprecated. Use 'var' instead | |
| status | false | false | false | Boolean | If specified, an instanceof IteratorStatus will be pushed into stack upon each iteration |
| step | false | 1 | false | Integer | if specified the iteration index will be increased by this value on each iteration. It can be a negative value, in which case 'begin' must be greater than 'end' |
| value | false | false | String | the iteratable source to iterate over, else an the object itself will be put into a newly created List | |
| var | false | false | String | Name used to reference the value pushed into the Value Stack |
遍历集合:(输出123)
<s:iterator value="{1,2,3}">
<s:property/>
</s:iterator>
自定义变量:(输出ABC)从集合中迭代取出赋值给val
<s:iterator value="{'a', 'b' , 'c'}" var="val">
<s:property value="#val.toUpperCase()"/>
</s:iterator>
使用status:
<s:iterator value="{'a' , 'b' , 'c'}" status="status">
<s:property/>
遍历过的元素的总数<s:property value="#status.count" />
当前元素的索引<s:property value="#status.index" />
当前是偶数<s:property value="#status.even" />
当前是奇数<s:property value="#status.odd" />
是否是第一个元素<s:property value="#status.first" />
是否是最后一个元素<s:property value="#status.last" />
</s:iterator>
遍历map
<s:iterator value="#{1:'a' , 2:'b' , 3:'c'}">
<s:property value="key" /> | <s:property value="value" />
</s:iterator>
<s:iterator value="#{1:'a' , 2:'b' , 3:'c'}" var="val">
<s:property value="#val.key" /> | <s:property value="#val.value" />
</s:iterator>
3、subset
Name |
Required |
Default |
Evaluated |
Type |
Description |
|---|---|---|---|---|---|
| count | false | false | Integer | Indicate the number of entries to be in the resulting subset iterator | |
| decider | false | false | org.apache.struts2.util.SubsetIteratorFilter.Decider | Extension to plug-in a decider to determine if that particular entry is to be included in the resulting subset iterator | |
| id | false | false | String | Deprecated. Use 'var' instead | |
| source | false | false | String | Indicate the source of which the resulting subset iterator is to be derived base on | |
| start | false | false | Integer | Indicate the starting index (eg. first entry is 0) of entries in the source to be available as the first entry in the resulting subset iterator | |
| var | false | false | String | The name to store the resultant iterator into page context, if such name is supplied |
三、UI标签
1、theme
主题,默认为xhtml,可以设置为simple/css_html/ajax
struts.xml中<constant name="theme" value="simple" />
struts2标签的更多相关文章
- struts2<s:property />标签
struts2的<property />标签是输出标签 其value属性是指定输出的内容,如果value属性没有写出来,则默认输出对象栈栈顶的元素. 例如,我们在对象栈中添加一个Perso ...
- struts2 <s:property/>标签的使用--输出时间格式转换
转载地址http://hi.baidu.com/nonyi_com/blog/item/acf1b8d74b6cf63e07088bc4.html 最近在使用struts2的<s:propert ...
- [Struts2] <s:property>标签
调用类中的属性,通过get方法调用,而非其属性名调用. 比如A类中有属性a1,a1的get方法是getA1Method(); 相应Action类中的get方法是getA1Action(). 那么需要通 ...
- struts2使用jsp和<s:property>标签获取json格式的返回数据
struts2使用jsp和<s:property>标签获取json格式的返回数据 1.struts2的action中 return "success"; 2.指向的返回 ...
- struts2 s:if标签以及 #,%{},%{#}的使用方法
<s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session ...
- struts2 s:if标签以及 #,%{},%{#}的使用方法等在资料整理
<s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session ...
- Struts2的OGNL标签详解
一.Struts2可以将所有标签分成3类: UI标签:主要用于生成HTML元素的标签. 非UI标签:主要用于数据库访问,逻辑控制等标签. Ajax标签:用于Ajax支持的标签. 对于UI标签,则有可以 ...
- struts2.0 s标签_小小鸟_百度空间
struts2.0 s标签 1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type= ...
- struts2:数据标签
目录 数据标签1. a标签2. set标签3. push标签4. bean/param标签5. date标签6. include标签7. url标签8. property标签9. debug标签10. ...
- Struts2之数据标签(二)
Struts2之数据标签(一):http://blog.csdn.net/u012561176/article/details/46848817 1.action标签:使用此标签能够同意在JSP页面中 ...
随机推荐
- [UE4][Custom Animation Graph Node]Evaluate Pose by Curve
目的:根据曲线值获得当前动作帧.用于实现各种通过曲线同步的功能. 方法:继承FAnimNode_Base创建自定义动画节点.重写Evaluate部分.创建相应的AnimGraphNode.可参考前一篇 ...
- JBoss CLI
转自http://www.cnblogs.com/inteliot/archive/2012/08/05/2623719.html 为 了便于维护和管理, JBoss AS 7 提供了命令行接口( ...
- jQUery 1.9中被删除的API
jQuery1.9删除了一些在以前版本中已经过时的api,想要把那些不够安全的.缺乏效率的.用处不大的,以及带有误导的特性统统去掉.如果你想升级你的jquery版本,但又使用了如下被删除的api的话, ...
- [Leetcode]Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space. 这题貌似解法挺多,直接用简单的把数倒置,没有考虑数 ...
- 甲乙(数理逻辑)转自http://www.cnblogs.com/devymex/p/3329635.html
这是一道历史悠久,又很困难的面试题. 你在旁观主持人和甲.乙两个天才数学家玩猜数字游戏.主持人准备了两个数,告知甲乙:这两个数不同,且大于等于1,小于等于30.然后主持人将两数之积告诉甲,把两数之和告 ...
- 套题 codeforces 361
A题((Mike and Cellphone) 看起来好像需要模拟数字键位的运动,可是,只要判断出那些必然YES的数字组合不就好了么 #include <cstdio> #include ...
- php跨域请求
跨域api服务器设置 header('content-type:application:json;charset=utf8'); header('Access-Control-Allow-Origin ...
- Unity3d中Update()方法的替身
在网上看到一些资料说Unity3d的Update方法是如何如何不好,影响性能.作为一个菜鸟,之前我还觉得挺好用的,完全没用什么影响性能的问题存在.现在发现确实有很大的问题,我习惯把一大堆检测判断放在U ...
- 使用 CXF 做 webservice 简单例子
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量 ...
- 解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译)
解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译) http://improve.dk/how-are-vardecimals-stored/ 在这篇文章,我将深入研究 ...