一、通用标签

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 applicationsessionrequestpage, 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标签的更多相关文章

  1. struts2<s:property />标签

    struts2的<property />标签是输出标签 其value属性是指定输出的内容,如果value属性没有写出来,则默认输出对象栈栈顶的元素. 例如,我们在对象栈中添加一个Perso ...

  2. struts2 <s:property/>标签的使用--输出时间格式转换

    转载地址http://hi.baidu.com/nonyi_com/blog/item/acf1b8d74b6cf63e07088bc4.html 最近在使用struts2的<s:propert ...

  3. [Struts2] <s:property>标签

    调用类中的属性,通过get方法调用,而非其属性名调用. 比如A类中有属性a1,a1的get方法是getA1Method(); 相应Action类中的get方法是getA1Action(). 那么需要通 ...

  4. struts2使用jsp和<s:property>标签获取json格式的返回数据

    struts2使用jsp和<s:property>标签获取json格式的返回数据 1.struts2的action中 return "success"; 2.指向的返回 ...

  5. struts2 s:if标签以及 #,%{},%{#}的使用方法

    <s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session ...

  6. struts2 s:if标签以及 #,%{},%{#}的使用方法等在资料整理

    <s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session ...

  7. Struts2的OGNL标签详解

    一.Struts2可以将所有标签分成3类: UI标签:主要用于生成HTML元素的标签. 非UI标签:主要用于数据库访问,逻辑控制等标签. Ajax标签:用于Ajax支持的标签. 对于UI标签,则有可以 ...

  8. struts2.0 s标签_小小鸟_百度空间

    struts2.0 s标签 1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type= ...

  9. struts2:数据标签

    目录 数据标签1. a标签2. set标签3. push标签4. bean/param标签5. date标签6. include标签7. url标签8. property标签9. debug标签10. ...

  10. Struts2之数据标签(二)

    Struts2之数据标签(一):http://blog.csdn.net/u012561176/article/details/46848817 1.action标签:使用此标签能够同意在JSP页面中 ...

随机推荐

  1. [UE4][Custom Animation Graph Node]Evaluate Pose by Curve

    目的:根据曲线值获得当前动作帧.用于实现各种通过曲线同步的功能. 方法:继承FAnimNode_Base创建自定义动画节点.重写Evaluate部分.创建相应的AnimGraphNode.可参考前一篇 ...

  2. JBoss CLI

    转自http://www.cnblogs.com/inteliot/archive/2012/08/05/2623719.html   为 了便于维护和管理, JBoss AS 7 提供了命令行接口( ...

  3. jQUery 1.9中被删除的API

    jQuery1.9删除了一些在以前版本中已经过时的api,想要把那些不够安全的.缺乏效率的.用处不大的,以及带有误导的特性统统去掉.如果你想升级你的jquery版本,但又使用了如下被删除的api的话, ...

  4. [Leetcode]Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space. 这题貌似解法挺多,直接用简单的把数倒置,没有考虑数 ...

  5. 甲乙(数理逻辑)转自http://www.cnblogs.com/devymex/p/3329635.html

    这是一道历史悠久,又很困难的面试题. 你在旁观主持人和甲.乙两个天才数学家玩猜数字游戏.主持人准备了两个数,告知甲乙:这两个数不同,且大于等于1,小于等于30.然后主持人将两数之积告诉甲,把两数之和告 ...

  6. 套题 codeforces 361

    A题((Mike and Cellphone) 看起来好像需要模拟数字键位的运动,可是,只要判断出那些必然YES的数字组合不就好了么 #include <cstdio> #include ...

  7. php跨域请求

    跨域api服务器设置 header('content-type:application:json;charset=utf8'); header('Access-Control-Allow-Origin ...

  8. Unity3d中Update()方法的替身

    在网上看到一些资料说Unity3d的Update方法是如何如何不好,影响性能.作为一个菜鸟,之前我还觉得挺好用的,完全没用什么影响性能的问题存在.现在发现确实有很大的问题,我习惯把一大堆检测判断放在U ...

  9. 使用 CXF 做 webservice 简单例子

    Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量 ...

  10. 解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译)

    解剖SQLSERVER 第十四篇    Vardecimals 存储格式揭秘(译) http://improve.dk/how-are-vardecimals-stored/ 在这篇文章,我将深入研究 ...