1

如何使用特定格式将日期绑定到条纹?"MM/dd/yyyy HH:mm:ss"

<s:text name="myDateTime" formatPattern="MM/dd/yyyy HH:mm:ss" />
4

3 回答 3

2

Stripes 使用Typeconverters将请求参数(字符串)转换为特定类型。默认日期类型转换器的 javadoc 可以在这里找到:

net.sourceforge.stripes.validation.DateTypeConverter

要更改它声明的默认格式:

可以通过在 Stripes 资源包中提供一组不同的格式字符串,或通过子类化和覆盖 getFormatStrings() 来更改此默认格式集。在所有情况下,应使用单个空格而不是斜杠、破折号或其他字符来指定模式。

和:

资源包中用于指定格式字符串和预处理模式的键是:stripes.dateTypeConverter.formatStrings 和 stripes.dateTypeConverter.preProcessPattern

如果那不适合您,您可以随时滚动您自己的TypeConverter。然后可以通过以下方式将此自定义类型转换器绑定到 ActionBean 中的设置器

@Validate(converter=YourCustomTypeConverter.class)
public void setDate(Date date) {
  this.date = date;
}

如果您想让映射自动完成,您需要覆盖默认映射器或创建另一个(子)类型。例如,您创建自己的类型转换器不是为 java.util.Date 而是为您自己的继承自 java.util.Date 的自定义类型。由于它只是一个没有任何额外行为的子类型,因此应用程序的其余部分可以将其用作 java.util.Date。

Date date;

// No @validate needed, maps to MyCustomDate
public void setDate(MyCustomDate date) {
  this.date = date;
}     
于 2010-09-22T10:05:15.810 回答
0
<fmt:formatDate timeZone="${timeZone}" value="${date}" pattern="MM/dd/yyyy hh:mm a"/>
于 2014-01-02T22:33:05.203 回答
-1

SimpleDateFormat将能够为您提供帮助。

于 2010-09-20T14:06:18.487 回答