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#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 key default
struts.date.format if one is not found DateFormat.MEDIUM format will be used

 

参数


Name


Required


Default


Evaluated


Type


Description

format false   false String 日 期格式
id false   true String  与普通html的id一样
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

时间: 2024-09-19 16:02:54

struts标签&lt;s:date&gt;的使用的相关文章

浅谈Struts标签logic:iterate

< logic:iterate >是Logic Struts标签库中最复杂的标签,也是用途最广的一个标签,它能够 在一个循环中遍历数组.Collection.Enumeration.Iterator 或 Map 中的所有元素. 1. 遍历集合 的 name 属性指定需要进行遍历的集合对象, 它每次从集合中检索出一个元素, 然后把它放在page 范 围内, 并以id 属性指定的字符串来命名这个元素, 例如: < % Vector animals = new Vector(); animal

Struts标签库中的HTML标签

一. Struts标签库中的HTML标签 HTML标签库主要用来显示HTML元素,如果不用这种方法,你就必须用HTML标签来指定它们.从表面上看,这个标签库很简单.但是通过深入研究,我们就会发现它很强大.例如,它可以为我们在HTML表单的 一个特定输入元素中放置重点内容生成JavaScript,或为客户端输入验证生成脚本.而且,你可以用它通过一行代码来处理错误.然而,在将这个标签库用于你的Struts应用程序前,你需要做些简单的准备工作. 配置应用程序来运用标签库 在运用Struts HTML标

struts标签-struts下的jsp文件中html:select 下的各个属性有哪些

问题描述 struts下的jsp文件中html:select 下的各个属性有哪些 struts下的jsp文件中html:select 下的属性property,styleIdonchange分别是什么意思啊这行struts的jsp代码是什么意思,哪位朋友能说一下,十分感谢 解决方案 1.property 是 ActionForm里定义的变量,就相当于html标签里面的name属性如 被解析后和html语句是一样的只是用了struts的property属性就得有想对应formBean,否则报错.2

关于struts标签的问题

问题描述 关于struts标签的问题 在,对应java中有 request.setAttribute("gcDeleteDto"),为什么运行页面的时候脚本报错'缺少对象' ,这会是什么原因? 解决方案 您能把错误信息贴出来嘛 解决方案二: request.setAttribute(String,Object);你缺少Object

java学习之Struts—使用Struts标签实现表单时,位置异常

2016年8月8日,SSH框架学习第一个综合案例:在使用Struts标签实现表单时出现文本框位置异常的情况,如下图: 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags" %> <% String pat

struts-怎样用Struts标签取出errors中的内容

问题描述 怎样用Struts标签取出errors中的内容 解决方案 以上说的都不是我要的答案,这个问题我已经解决 解决方案二: 既然是user.,那说明你有那样的实体.所以你需要有对应的set,get方法,然后在对应的页面上添加该字段,根据struts,能够获取到你传输的对应信息 解决方案三: 你是要使用哪个标签struts标签输出...迭代显示errors所有内容 /s:iterator

struts升级2.3.16jar包后struts标签无法提交action,也不报错。

问题描述 struts升级2.3.16jar包后struts标签无法提交action,也不报错. struts升级2.3.16jar包后struts标签无法提交action,也不报错. jsp代码如下: /s:action

对象-怎么样用struts标签传递一个long到action?

问题描述 怎么样用struts标签传递一个long到action? <s:textfield name="police.id" /> 类型不一致报错. 因为在action中直接是一个实体对象police接收数据,其中id类型是long.也就是police.id为long类型 怎么使用struts标签传递long数据到police.id中. 解决方案 用struts的模型驱动传递数据的方式有: 一:动作类充当模型驱动: 1.在动作类提供id的set方法,struts会为你自动

配置-关于struts标签namespace的问题

问题描述 关于struts标签namespace的问题 org.apache.struts2.components.ActionComponent.executeAction(ActionComponent.java:259) >> Could not execute action: /searc/showAction!load There is no Action mapped for namespace /searc and action name showAction. - [unkno