首页 > 代码库 > Structs2 <s:date> <s:debug> <s:property>说明

Structs2 <s:date> <s:debug> <s:property>说明

标签显示日期

一、这里主要以<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=http://www.mamicode.com/" 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=http://www.mamicode.com/"sss"> 这样来直接访问。

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

 

 

property标签

在使用property标签的时候:

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

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

Structs2 <s:date> <s:debug> <s:property>说明