Struts2 输出到页面

References: 《利用Struts标签格式化日期输出》,《struts2 jsp页面遍历List集合,修改后将集合传到action中》《struts iterator标签》《Struts2 配置相关问题》《最靠谱的官方文档Struts 2.1.6 Tag Reference》---这个抽空得好好研究!

页面读值的四种常用办法:

<s:property value="username"/>
${username}  
<s:property value="#request.username"/> (#session. #application.类似)
<s:property value="%{username}"/>

格式化日期输出

1.利用 <s:date>进行格式化.如:

<s:date name="birthday" format="yyyy-MM-dd"/>

就是将属性birthday按yyyy-MM-dd的格式进行输出.

2.利用<s:param>进行格式化.如:

<s:textfield name="birthday" >

<s:param name="value"><s:date name="birthday" format="yyyy-MM-dd"/></s:param>

</s:textfield>

或者

<input type="text" value="<s:date name="birthday" format="yyyy-MM-dd" />" />

3.通过国际化的方式来进行

首先在struts.properties中配置struts.custom.i18n.resources=globalMessages

然后在globalMessages_zh_CN.properties和globalMessages_en_US.properties文件中添加如下内容:

global.datetime = {0, date, yyyy-MM-dd HH:mm:ss}

global.date = {0, date, yyyy-MM-dd}

最后在页面中使用下面的语句就可以实现日期的格式化输出了.

 <s:textfield name="birthday" 
value="%{getText('global.date',{birthday})}"/> --golbal.date样式
  <s:textfield name="birthday" 
value="%{getText('global.datetime',{birthday})}"/> --global.datetime样式

 

输出表格

利用Struts的Iterator标签进行遍历输出:

<s:iterator var="list" value="entpList" status="sta">
    <tr>
	<td><s:property value="#sta.index" />
	</td>
	<td>${list.ename}</td>
	<td>${list.loginName}</td>
	<td>${list.location}</td>
	<td>${list.email}</td>
    </tr>
</s:iterator>

struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等。

iterator有三个属性:
   value :被迭代遍历的集合;
   id :指定集合里面的元素id;  //struts 2.1.x版本之后 Deprecated. Use 'var' instead  
   status :迭代元素的索引;

1:jsp页面定义元素写法 数组或list

<s:iterator value= "{'1','2','3','4','5'}"  id= 'number' > 
    <s:property value= 'number' />A 
</s:iterator> 

打印结果为:  1A2A3A4A5A

2:索引的用法

struts2.0 的遍历控件<s:iterator>中的index状态:

1:odd(奇数)
2:first(首索引)
3:even(偶数)
4:last(尾索引)
5:index(索引项)

如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法

int getCount()返回当前迭代了几个元素
int getIndex()返回当前元素索引
boolean isEven()当然的索引是否偶数
boolean isFirst()当前是否第一个元素
boolean isLast()
boolean isOdd()当前元素索引是否奇数

<s:iterator value= "{'a','b','c'}"  id= 'char'  status= 'st' > 
    <s: if  test= "#st.Even" > 
        现在的索引是奇数为:<s:property value= '#st.index' /> 
    </s: if > 
    当前元素值:<s:property value= 'char' /> 
</s:iterator> 

      看清楚 test 是关键字哦 if test是一起的

3:遍历map

value也可以是数据栈里面的java.util.Map对象.

<s:iterator value= "map"  id= "id"  status= "st" > 
     key : <s:property value= 'key' /> 
     value:<s:property vlaue= 'value' /> 
</s:iterator> 
posted on 2011-04-01 13:07  Jersey  阅读(2007)  评论(0编辑  收藏  举报