您如何将日期绑定到 条纹 使用特定格式? “ MM/DD/YYYY HH:MM:SS”

<s:text name="myDateTime" formatPattern="MM/dd/yyyy HH:mm:ss" />
有帮助吗?

解决方案

条纹使用 打字机 用于将请求参数(字符串)转换为特定类型。可以在此处找到默认日期类型转换器的Javadoc:

net.sourceforge.stripes.validation.datetypeconverter

要更改它所述的默认格式:

可以通过在条纹资源捆绑包中提供不同的格式字符串,或通过sub分类和覆盖getformatrings()来更改此默认格式。在所有情况下,都应使用单个空间作为分隔器而不是斜线,破折号或其他字符来指定模式。

和:

资源捆绑包中用于指定格式字符串的密钥和预处理模式为:stripes.datetypeconverter.formatstrings and stripes.datetypeconverter.preprocesspattern

如果那不为你做,你总是可以滚动你自己 键入. 。然后可以使用此自定义类型转换器 绑定到ActionBean中的二传手 经过:

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

如果要自动完成映射,则需要覆盖默认的映射器或创建另一个(SUB)类型。例如,您不是为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;
}     

其他提示

<fmt:formatDate timeZone="${timeZone}" value="${date}" pattern="MM/dd/yyyy hh:mm a"/>

SimpleDateFormat 将能够帮助您。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top