struts2 <s:property/>标签的使用--输出时间格式转换
2012-04-20 15:55
549 查看
转载地址http://hi.baidu.com/nonyi_com/blog/item/acf1b8d74b6cf63e07088bc4.html
最近在使用struts2的<s:property/>标签时发现了几个比较特殊的用法,特拿来分享一下:
1.按需输出特定长度的字符
例:<s:property val ="name.s string(0,4)" />,只输出name的前四个字符,其中name是我需要输出的字符串。
2.格式化输出日期
例:<s:property val ="%{getText('format.date',{createdDt})}"/>,这里说明一下,'format.date'是输出的日期的格式,这个配置在国际化资源文件中:format.date ={0,date,yyyy-MM-dd } ,其中的格式可以自己配置,createdDt是我要输出的日期。
这种格式化输出日期的方法也适用于别的标签,例如:<s:textfiled/>,也是一种比较通用的方法,另外再提供几种格式:format.time = {0,time}
format.number = {0,number,\#0.0\#\#}
format.percent = {0,number,\#\#0.00'%'}
format.money = {0,number,\¤\#\#0.00}
3.带格式的字符串不输出格式(像fckedit之类的编辑器就可以给文本加样式而又想在页面上按原样式输出来而不是输出html标签,此种方式就比较适用)
例:我想输出的title的内容是“<p>测试</p>”,只需加入属性escape="false"就行了:<s:property escape="false" val ="title"/>,这时输出来的就是“测试”,而不是“<p>测试</p>”。此属性也可以用于别的标签,具体的可以自己摸索。
例子:
<td colspan="8" bgcolor="#FFFFFF">相关报告</td>
</tr>
<tr>
<td colspan="8" bgcolor="#FFFFFF">
<table width="635" cellspacing="1" cellpadding="0" border="0" bgcolor="#9ec7e6">
<tbody>
<s:iterator value="#newslist" id="newsl" status="status">
<tr <s:if test="#status.odd">style="background-color:#ffffff"></s:if>
<s:else>style="background-color:#eeeeee"></s:else>
<td> <s:property value="%{getText('{0,date,yyyy-MM-dd }',{updateTime})}"/></td>--时间直接格式化--
<td>
<s:if test="title.length>20">
<s:property value="title.substring(0,20)"escape="false"/>--截取字符串长度--
</s:if>
<s:else>
<s:property value="title" escape="false"/>
</s:else>
</td>
<td> <s:property value="author"/> </td>
<td> <s:property value="original"/></td>
</tr>
</s:iterator>
</tbody>
</table>
</td>
QQ讨论群号 226728216
最近在使用struts2的<s:property/>标签时发现了几个比较特殊的用法,特拿来分享一下:
1.按需输出特定长度的字符
例:<s:property val ="name.s string(0,4)" />,只输出name的前四个字符,其中name是我需要输出的字符串。
2.格式化输出日期
例:<s:property val ="%{getText('format.date',{createdDt})}"/>,这里说明一下,'format.date'是输出的日期的格式,这个配置在国际化资源文件中:format.date ={0,date,yyyy-MM-dd } ,其中的格式可以自己配置,createdDt是我要输出的日期。
这种格式化输出日期的方法也适用于别的标签,例如:<s:textfiled/>,也是一种比较通用的方法,另外再提供几种格式:format.time = {0,time}
format.number = {0,number,\#0.0\#\#}
format.percent = {0,number,\#\#0.00'%'}
format.money = {0,number,\¤\#\#0.00}
3.带格式的字符串不输出格式(像fckedit之类的编辑器就可以给文本加样式而又想在页面上按原样式输出来而不是输出html标签,此种方式就比较适用)
例:我想输出的title的内容是“<p>测试</p>”,只需加入属性escape="false"就行了:<s:property escape="false" val ="title"/>,这时输出来的就是“测试”,而不是“<p>测试</p>”。此属性也可以用于别的标签,具体的可以自己摸索。
例子:
<td colspan="8" bgcolor="#FFFFFF">相关报告</td>
</tr>
<tr>
<td colspan="8" bgcolor="#FFFFFF">
<table width="635" cellspacing="1" cellpadding="0" border="0" bgcolor="#9ec7e6">
<tbody>
<s:iterator value="#newslist" id="newsl" status="status">
<tr <s:if test="#status.odd">style="background-color:#ffffff"></s:if>
<s:else>style="background-color:#eeeeee"></s:else>
<td> <s:property value="%{getText('{0,date,yyyy-MM-dd }',{updateTime})}"/></td>--时间直接格式化--
<td>
<s:if test="title.length>20">
<s:property value="title.substring(0,20)"escape="false"/>--截取字符串长度--
</s:if>
<s:else>
<s:property value="title" escape="false"/>
</s:else>
</td>
<td> <s:property value="author"/> </td>
<td> <s:property value="original"/></td>
</tr>
</s:iterator>
</tbody>
</table>
</td>
QQ讨论群号 226728216
相关文章推荐
- struts2 <s:property/>标签的使用--输出时间格式转换
- struts2 <s:property/>标签的使用--输出时间格式转换
- struts2 <s:property/>标签的使用--输出时间格式转换
- struts2 <s:property/>标签的使用--输出时间格式转换
- struts2 <s:property/>标签的使用
- 开发日志:使用struts2标签[<s:if><s:property>等]获取boolean属性需注意
- Struts2的标签显示日期、<s:debug>标签、<s:property>使用技巧
- Struts2中<s-if>和<s-iterator>标签的使用
- struts2中<s:select>标签的使用
- struts2利用<s:fielderror/>等标签详细地控制错误消息输出格式
- Struts2中<s-if>和<s-iterator>标签的使用
- Struts2标签<s:iterator>中使用Map
- struts2中<s:if>标签的使用
- JavaBean与Jsp、在JSP中使用JavaBean(<jsp:useBean>标签、<jsp:setProperty>标签、<jsp:getProperty>标签)
- Struts2标签库(3):利用<s:property.../>标签访问Struts2的命名对象
- JSP标签的<jsp:useBean>和<jsp:setProperty><jsp:getProperty>的使用
- struts2中用ajax标签出错。。一使用<s:head theme="ajax"/>就报错或者标签的时间控件显示不出来
- struts2 <debug>标签报错:Caught an exception while getting the property values of null
- struts2利用<s:fielderror/>等标签详细地控制错误消息输出格式
- struts2标签<s:property 输出带有html标签的字符串的解决方案