struts2 <s:property/>标签的使用

本文介绍了Struts2框架中&s:property&gt;标签的几种特殊用法,包括按需输出指定长度的字符串、格式化日期及保持格式化的字符串输出等,这些技巧有助于提高开发效率并实现更灵活的数据展示。

struts2 <s:property/>标签的使用(一)

 

最近在使用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>&nbsp;<s:property value="%{getText('{0,date,yyyy-MM-dd }',{updateTime})}" /></td>
                  <td>&nbsp;
                    <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>&nbsp;<s:property value="author"/> </td>
                  <td>&nbsp;<s:property value="original"/></td>
            </tr>
            </s:iterator>
        </tbody>
        </table>
          </td>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值