首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Struts2惯用标签之通用标签的使用

2013-10-06 
Struts2常用标签之通用标签的使用Struts2标签的分类:通过struts2的文档可以查看到所有的标签:strust2\stru

Struts2常用标签之通用标签的使用
Struts2标签的分类:通过struts2的文档可以查看到所有的标签:strust2\struts-2.3.7\docs\WW\tag-reference.html。分为:Generic Tags(通用标签库)和UI Tags(UI标签库)。Struts2惯用标签之通用标签的使用Struts2惯用标签之通用标签的使用Struts2通用标签库之数据标签:<s:property/>标签用来执行OGNL表达式,最为常用的方式是使用它在页面中输出ValueStack或ActionContext中的数据。<s:property value="#request.hello"/>等同于ActionContext.getContext().getRequest().get("hello");参数说明:名称必需默认值类型说明default否无String表示默认值。当结果为null时,输出默认值。
escape否trueBoolean表示是否进行转义。该值为true时,当结果中包含<、>、”、’、&时,对其进行转义。value否栈顶对象ObjectOgnl表达式
以下是Struts2自带的例子,如果想了解的更加详细。可以查看参考文档,也就是上面给出的,点击某个标签就行。

名称必需默认值类型说明var是无String变量的域名字,默认不是Ognl表达式
value否栈顶对象ObjectOGNL表达式scope否ActionString变量的范围。可选值:application、session、request、page、action





scope的可选值action是一个陌生的范围,它是scope的默认值。它表示保存到request和OgnlContext两个范围中。即比request范围多出了一个OgnlContext范围。一些用法:
名称必需默认值类型说明action否无String指定生成URL的actionvalue否无String指定用于生成URL的地址值。
通常只使用action或value其中一个属性。
method否无String指定调用action中的方法。
如果使用的是value属性,那么该属性无效。
var否无String如果指定了该属性,那么生成的URL不会输出到页面中,
而是被保存到OgnlContext中。namespace否无String指定action的名称空间forceAddSchemeHostAndPort
否falseBoolean当该属性为true时,生成的URL为绝对路径,
而且会包含主机名及端口号。<s:a/>标签的使用:它用来生成超链接,与<s:url/>类似。用法:
名称必需默认值类型说明var否无String如果指定了该属性,
那么迭代的集合中的元素将被保存到OgnlContext中,
可以通过该属性的值来引用集合中的元素。该属性几乎不被使用。
value否无Coolection、
Map、
Enumeration、
Iterator 或数组
指定迭代的集合。
如果没有指定该属性,
那么iterator标签将把位于值栈栈顶的对象放入一个新创建的List中进行迭代。
status否无String如果指定了该属性,
一个IteratorStatus实例将被放入到OgnlContext中,
通过该实例可以获取迭代过程中的一些状态信息。

IteratorStatus类在org.apahce.struts2.views.jsp包下。下面是对该类常用方法的介绍:
public int getCount():得到当前已经迭代的元素的总数。
public int getIndex():得到当前迭代的元素的索引。
public boolean isEven():判断当前迭代的元素的个数是否是偶数。
public boolean isOdd():判断当前迭代的元素的个数是否是奇数。
public boolean isFirest():判断当前迭代的元素是否是第一个元素。
public boolean isLast():判断当前迭代的元素是否是最后一个元素。
示例代码的使用如下:(在OGNL表达式中使用IteratorStatus类的方法时,可以直接使用:count、index、even、odd、first、last属性。)
<s:iterator value='{"one", "two", "three"}' status="status"><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"/><br/></s:iterator><hr/><s:iterator value="#{'1':'one','2':'two','3':'three','4':'four'}" status="st"><s:property value="key"/>:<s:property value="value"/><br/></s:iterator

热点排行