一、通用标签

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. (转)Android开发出来的APP在手机的安装路径是?

    一.安装路径在哪? Android应用安装涉及到如下几个目录: system/app系统自带的应用程序,无法删除.data/app用户程序安装的目录,有删除权限.安装时把apk文件复制到此目录.dat ...

  2. java和android及IOS对接RSA加密经验

    1.网上找的java生成RSA密钥对的例子,产生的字附串实际上是hax后和密钥串 你可以将他们当成静态字附串存在java代码里 2.android和java可以代码复用,IOS对接比较麻烦 3.IOS ...

  3. redis/php redis扩展 安装

    作者:silenceper 日期:2013-10-03 原文地址: http://silenceper.com/archives/952.html 我是在CentOS 6.3 中进行的. 使用到的软件 ...

  4. 用MOS管防止电源反接的原理

    电源反接,会给电路造成损坏,不过,电源反接是不可避免的.所以,我么就需要给电路中加入保护电路,达到即使接反电源,也不会损坏的目的. 一般可以使用在电源的正极串入一个二极管解决,不过,由于二极管有压降, ...

  5. 安装RPM包或者安装源码包

    本系列的博客来自于:http://www.92csz.com/study/linux/ 在此,感谢原作者提供的入门知识 这个系列的博客的目的在于将比较常用的liunx命令从作者的文章中摘录下来,供自己 ...

  6. SSIS 错误

    [OLE DB 源 [1]] 错误: SSIS 错误代码 DTS_E_OLEDBERROR.出现 OLE DB 错误.错误代码: 0x80040E14.已获得 OLE DB 记录.源:"Or ...

  7. python多线程的用法之一

    import threadingimport time class thread_1(threading.Thread): sleep_time = 0 def __init__(self,id1): ...

  8. MediaWiki安装与配置(Ubuntu 10.4)

    实验室准备发布一个网站,本来是准备外包给别人做的,后来自己调研了一下,发现也没有想象的复杂和困难,于是最近一周自己吭哧吭哧地把网站搭好了. 之所以使用Mediawiki,一是考虑到是以实验室发布,不想 ...

  9. Android(shape.xml)

    shape用以在android设计中定义几何形状,这样简单的效果就不需要以来背景图片.基本的功能如下: <shape xmlns:android="http://schemas.and ...

  10. 作业二:Github注册账户过程

    Github注册账户过程如下: Github的注册及使用说明: [1]http://www.aehyok.com/Blog/Detail/73.html [2] http://www.cnblogs. ...