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

struts 2标签 s:date

2011-01-05 14:39 274 查看
struts 标签 :<s:date/>

作用:用来格式化显示日期的格式。

它可以用一种你指定的格式来显示(如:“yyyy-MM-dd”),可以生成通俗易懂的注释(如:in 2 hours,14
minutes),或者用预先定义的一个格式来显示(如在properties配置文件中配置'struts.date.format').如果没有找到这个struts.date.format,则会找默认的DateFormat.MEDIUM来格式化你的日期对象。当然如果在值栈中没有找你对应的日期对象,则会返回空格。

可配置的标签属性有:

name

nice

format

下面这些功能的使用决定于nice属性与format属性。

1。nice属性为true

i18n keydefault
struts.date.format.past{0} ago
struts.date.format.futurein {0}
struts.date.format.secondsan instant
struts.date.format.minutes{0,choice,1#one minute|1<{0} minutes}
struts.date.format.hours{0,choice,1#one hour|1<{0} hours}{1,choice,0#|1#, one
minute|1<, {1} minutes}
struts.date.format.days{0,choice,1#one day|1<{0} days}{1,choice,0#|1#, one hour|1<,
{1} hours}
struts.date.format.years{0,choice,1#one year|1<{0} years}{1,choice,0#|1#, one
day|1<, {1} days}
2.nice属性为false,format属性指定的格式
如:dd/MM/yyyy

在这种情况下,format属性将被使用。

3。nice属性为false,format属性没有指定。

i18n keydefault
struts.date.formatif one is not found DateFormat.MEDIUM format will be
used
参数

Name

Required

Default

Evaluated

Type

Description

formatfalsefalseString日期格式

idfalsetrueString与普通html的id一样
nametrue
trueString日期的值

nicefalsefalsetrueBoolean是否打印出更nicely的格式

例子:

<s:date name="person.birthday"

format="dd/MM/yyyy"

/>

<s:date name="person.birthday"

format="%{getText('some.i18n.key')}"

/>

<s:date name="person.birthday"

nice="true"

/>

<s:date name="person.birthday"

/>

问题1:

<s

:date

name="model.createDate" format="yyyy-mm-dd"/>老是将日期显示错误,比如数据库里明明是2009-03-30

,显示就成了2009-30-31。

解决:这位老兄完全的不明白java的日期格式啊。应该多看看API。

字母 日期或时间元素 表示 示例
G Era 标志符 Text
de>ADde>
y Year
de>1996de>; de>96de>
M 年中的月份 Month
de>Julyde>; de>Julde>; de>07de>
w 年中的周数 Number
de>27de>
W 月份中的周数 Number
de>2de>
D 年中的天数 Number
de>189de>
d 月份中的天数 Number
de>10de>
F 月份中的星期 Number
de>2de>
E 星期中的天数 Text
de>Tuesdayde>; de>Tuede>
a Am/pm 标记 Text
de>PMde>
H 一天中的小时数(0-23) Number
de>0de>
k> 一天中的小时数(1-24) Number
de>24de>
K am/pm 中的小时数(0-11) Number
de>0de>
h am/pm 中的小时数(1-12) Number
de>12de>
m 小时中的分钟数 Number
de>30de>
s 分钟中的秒数 Number
de>55de>
S 毫秒数 Number
de>978de>
z 时区 General time zone
de>Pacific Standard Timede>; de>PSTde>;
de>GMT-08:00de>
Z 时区 RFC 822 time zone
de>-0800de>
当然,数据的日期格式又是另外一回事了,有时我也总会将HH24:mm:ss写成数据库的HH24:mi:ss.有时候写的导数可

能也会出现日期格式的问题,因为与数据库的格式不一样而出来导入错误。还在操作数据库的时候可能也会有日期

格式的困扰,如果用oracle的话,如果你写的正确的日期格式,用String也可以的。

Oracle的to_date函数可以将de>CHARde>, de>VARCHAR2de>, de>NCHARde>, or de>NVARCHAR2de> 类型数据转换成de>DATEde>数据类型的值. 如果不指

定格式,则会用默认的格式。默认的格式包为:de>NLS_TERRITORYde> 。

更多的信息应该参考Oracle的文档了。

2。我在date.jsp里有一个form,里面有一项是Date类型的.

<s:date name="birthday" label="birthday"> </s:date>

然后我用Action验证.为什么总是得不到birthday的值,跟踪发现birthday的值没有传过来,值只是null

解决:这位大哥,不明白标签的分类。这只是一个快速按你要求格式的显示日期的标签。struts2不会帮你转换的,

应该写成textfield,传过去的日期才会自动帮转换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: