真正基本的问题:
如果我使用Springs默认格式化程序,我该如何实际呈现格式化字符串。有人可以帮我完成下面的代码示例,???:
@DateTimeFormat(pattern="yyyy-MMM-dd hh:mmaa");
DateTime myJodaDateTime = ...;
System.out.println( "How do I print myJodaDateTime, formatted: " + ??? );
答案 0 :(得分:2)
看起来注释配置的格式化程序仅用于对象字段和方法参数。而且,看起来他们忘记提供方便的切入点来手动使用这些功能。所以,你可以这样做:
public class Foo {
@DateTimeFormat(pattern="yyyy-MMM-dd hh:mmaa")
DateTime myJodaDateTime = ...;
}
...
ConversionService cs = ...; // FormattingConversionService with default formatters
System.out.println(
cs.convert(
foo.myJodaDateTime,
new TypeDescriptor(Foo.class.getDeclaredField("myJodaDateTime")),
TypeDescriptor.valueOf(String.class)
)
);
或者,您可以使用
BeanPropertyBindingResult r = new BeanPropertyBindingResult(foo, "foo");
r.initConversion(cs);
System.out.println(r.getFieldValue("myJodaDateTime"));
但它看起来像滥用数据绑定功能。