一、通用标签

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. 用CSS绘制箭头等三角形图案 [译]

    最近重新设计了我的网站,准备添加tooltips提示信息效果.实现很容易,但我想要让提示功能具有三角形的指示图标.当我重新思考想要所设计的每个图标颜色都随心所欲的时候,采用图片那就是一场灾难.幸运的是 ...

  2. BNUOJ 51279[组队活动 Large](cdq分治+FFT)

    传送门 大意:ACM校队一共有n名队员,从1到n标号,现在n名队员要组成若干支队伍,每支队伍至多有m名队员,求一共有多少种不同的组队方案.两个组队方案被视为不同的,当且仅当存在至少一名队员在两种方案中 ...

  3. flash 定义二维数组

    一种二维数组的定义方法   //假设二维数组为 [5][7]var  xn:Number = 5;var  yn:Number = 7; //定义一数值变量var  temp:Number = 0; ...

  4. Core Audio(三)

    音频终端设备(Audio Endpoint Devices) endpoint device指的是应用程序的数据通道上起始或终止的硬件设备,如扬声器,耳机,话筒等:沿着数据通道可能穿越一定数目的硬件和 ...

  5. idea小技巧

    1.不使用import *:Setting=>Editor=>Code Style=>Java=>Imports=>Class count to use/Names co ...

  6. Software Testing Lab1

    Junit和Hamcrest的安装需要先把两个jar文件下载到本地,具体取得方式多种多样,我是直接从同学那要的.新建一个java项目,在新建时直接在库中导入这两个包即可. 这次编程内容是一个测试三角形 ...

  7. 攒机I7

    CPU : I7 4790K +Z97 = 3200 散热器 :九州风神玄冰400 = 99 硬盘 :希捷 1TB 64M = 310 机箱: 金河田超越白 = 200 内存 DDR3金士顿8G = ...

  8. Linq to Sql 聚合查询

    //输出体重最大的同学,并要求最大体重得大于39,并按照体重大下,对分组结果进行排序. var result = from query in linq.Student group query by q ...

  9. 练习2-3:十六进制数字字符串转换为等价整型值,字符串允许包含的数字包括:0~9、a~f、A~F、x、X(C程序设计语言 第2版)

    #include <stdio.h> #include <string.h> #include <math.h> int htoi(char s[]){ unsig ...

  10. 如何判断ScrollView滑动方形

    1/判断滚动视图左右滚动 { CGFloat startContentOffsetX;//滚动开始的坐标 CGFloat willEndContentOffsetX; //滚动即将停止的坐标 CGFl ...