您的位置:首页 > 编程语言 > Java开发

Struts2的标签显示日期、<s:debug>标签、<s:property>使用技巧

2012-11-30 10:48 791 查看
原文地址:http://kingxss.iteye.com/blog/1564774

下文会提到ValueStack和Stack Contex,关于这两个值域的具体比较可以参考 蚊香无敌的BLOG:http://jwx0925.iteye.com/blog/630335



标签显示日期

一、这里主要以<s:date>标签为例子。例如:<s:date name="publishTime" format="yyyy-MM-dd HH:mm:ss.SSS" /> 这里格式含义:yyyy-MM-dd年月日 HH:mm:ss.SSS时分秒毫秒

但要注意几个细微的地方:

1、"yyyy-MM-dd”中的“MM”一定要大写,不然会不起作用或者时间显示不正常。因为在java中,大M表示“月(Month)",而小m表示"分"(minute)

2、后面的"HH"表示24小时制,而如果是"hh",则显示时为12小时制

3、还有一点:s:date标签使用时,一定要是Date类型。

二、如果是String型,数值型等其他类型,可以用以下方法:

1.先在resource文件中定义如下: format.date_medium={0,date,medium}

format.date_ymd={0,date,yyyy/MM/dd}

format.date_time={0,date,yyyy/MM/dd hh:mm}

2.然后就可以自由的format了: <s:text name="format.date_ymd">

<s:param name="value" value=" publishTime "/>

</s:text>



debug标签

debug标签主要用于辅助测试,它在页面上生成一个超链接,通过该链接可以查看ValueStack和Stack Context 中的所有值信息。
使用debug标签只有一个id属性,这个属性仅仅是该元素一个引用id。
在页面上增加<s:debug/>标签,通过debug标签,可以看的系统中ValueStack里的全部信息,并可以看到Stack Context中的属性。

使用方式是在Jsp页面中插入: <s:debug></s:debug>标签


点击返回页面是行的[DEBUG]连接会得到如下的结果,这时可以清楚的看到ValueStack和Stack Context 中的所有值信息。



这个值栈又分为两种Value Stack Contents 和 Stack Context .

(1) ValueStack很简单,里面放的都是Action的属性。如果通过chain方式跳转多个Action就会包含多个Action的属性。例如fielderror、error、actionerror这些继承自ActionSupport类中。Value Stack Contents 里面的信息可以用 <s:property value="sss"> 这样来直接访问。

(2) Stack Context(Stack的上下文)的保存方式是map类型,它包含一系列对象,包括request,session,attr,application,map等。Stack Context 里面的信息可以 <s:property value="#sss">这样来访问。









property标签

在使用property标签的时候:

1.可以通过<s:property value='phoneNo.substring(0, 3) + "****" + phoneNo.substring(7)'/>这样的方式调用属性对象的函数。

2.也可以调用进入该页面的那个action所在的类的自定义函数: <s:property value="%{getClob(content)}" />



参考

1.百度知道:http://zhidao.baidu.com/question/203944207.html

2.郏高阳的BLOG:/article/2192700.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: