`
bulote
  • 浏览: 1306246 次
文章分类
社区版块
存档分类
最新评论

struts标签<s:date>的使用

阅读更多

最近研究struts时,发现这个标签能够解决很多格式上的问题,所以在网上搜索了一下这个内容,发现这篇文章写得挺不错的,挺有收获。

struts 标签 :<s:date/>
作用:用来格式化显示日期的格式。


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

可配置的标签属性有:
name
nice
format


1 nice属性为true

i18n key default
struts.date.format.past {0} ago
struts.date.format.future in {0}
struts.date.format.seconds an instant
struts.date.format.minutes {0,choice,1#on<wbr>e minute|1&lt;{0} minutes}</wbr>
struts.date.format.hours {0,choice,1#on<wbr>e hour|1&lt;{0} hours}{1,choice,0#|1#, on<wbr>e minute|1&lt;, {1} minutes}</wbr></wbr>
struts.date.format.days {0,choice,1#on<wbr>e day|1&lt;{0} days}{1,choice,0#|1#, on<wbr>e hour|1&lt;, {1} hours}</wbr></wbr>
struts.date.format.years {0,choice,1#on<wbr>e year|1&lt;{0} years}{1,choice,0#|1#, on<wbr>e day|1&lt;, {1} days</wbr></wbr>

2.nice属性为false,format属性指定的格式如:dd/MM/yyyy

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


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

i18n key default
struts.date.format if on<wbr>e is not found DateFormat.MEDIUM format will be used</wbr>

参数

Name

Required

Default

Evaluated

Type

Description

format false false String 日 期格式
id false true String <wbr><wbr>与普通html的id一样</wbr></wbr>
name true true String 日 期的值
nice false false true Boolean 是否打印出更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。


解决:应该多看看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的文档了。


请问Struts2的s:date标签在action中一定要为date类型吗?
private Date currentDate; ...... 如果不是,请问long,String,Integer如何用<s:date name ="currentDate" formate =""yyyy-MM-dd"/>

回答:
s:date标签使用时,一定要是Date类型。

String型,数值型等其他类型,可以用以下方法: 先在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}

format.number_money={0,number,#,##0}

然后就可以自由的format了:

<s:text name="format.number_money">

<s:param name="value" value="salesPrice"/> </s:text>

<s:text name="format.date_ymd">

<s:param name="value" value="salesDate"/></s:text>

原帖地址:http://blog.sina.com.cn/s/blog_4dacfb010100vhqk.html

分享到:
评论

相关推荐

    struts2 标签库 帮助文档

    &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-----超链接,类似于html里的&lt;a&gt;&lt;/a&gt; 3. &lt;s:...

    struts2标签大全

    &lt;s:date/&gt;-----获取日期格式 &lt;s:datetimepicker&gt;&lt;/s:datetimepicker&gt;-----日期输入框 &lt;s:debug&gt;&lt;/s:debug&gt;-----显示错误信息 &lt;s:div&gt;&lt;/s:div&gt;-----表示一个块,类似于html的&lt;div&gt;&lt;/div&gt; &lt;s:doubleselect list="" ...

    struts2综合复习习题

    将struts2的知识进行综合整理,以达到全面...四、&lt;s:date&gt;标签的作用是() A.创建一个当前系统时间数据的对象 B.将指定的Date对象按一定的字符串格式输出 C.显示指定Date对象的年月日信息 D.显示当前系统时间在页面上

    Struts2通用标签用法示例

    主要介绍Strus2中的通用标签,主要有&lt;s:url&gt;, &lt;s:set&gt;, &lt;s:push&gt;, &lt;s:if&gt;, &lt;s:elseif&gt;, &lt;s:else&gt;, &lt;s:iterator&gt;, &lt;s:sort&gt;, &lt;s:date&gt;, &lt;s:a&gt;等几个标签的具体用法,希望能对大家有帮助。

    struts2讲义_吴峻申

    10.2.2 &lt;decorator:usePage&gt;、&lt;decorator:useHtmlPage&gt;和&lt;decorator:head&gt;标签的使用介绍 200 附录 204 附录1 安装JBoss让它部署Web项目 204 F1.1 安装 204 F1.2 手工部署Web项目 207 附录2 Mysql数据库使用和创建...

    Struts2 国际化字符串 拦截器

    &lt;s:text name="validation.required" &gt; 人心的功能,如将Action输出到FreeMaker模板、Velocity模板、JasperReports和使用XSL转换等。这些都过result里的type(类型)属性(Attribute)定义的。另外,您还可以自定义...

    freemarker总结

    其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替&gt;会有更好的效果,因为 FreeMarker会把&gt;解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:&lt;#if (x&gt;y)&gt; ...

    dangdang和smartstruts2.rar

    &lt;%@taglib uri="/struts-tags" prefix="s"%&gt; &lt;img src="image.do" id="img1"/&gt; &lt;a href="javascript:;" onclick="document.getElementById('img1').src='image.do?' + (new Date().getTime());"&gt;换一张试试看&lt;/a&gt;...

    网页中实现文本框自校验的标签

    实现文本内容的自动校验,标签属性与普通input相似,使用该标签后无需再考虑数据提交时的据校验问题。 与struts的动态表单需要大量配置校验文本规则相比,这里的工作量为0。 (1)检查合法性:可以使用默认校验器,...

    java 面试题 总结

    动态INCLUDE用jsp:include动作实现 &lt;jsp:include page="included.jsp" flush="true" /&gt;它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的...

Global site tag (gtag.js) - Google Analytics