私はSpring MVCを初めて使用しています。だから、私はjava.util.Date用のカスタムフォーマッタを作成しようとしています。Springカスタムフォーマッタが動作しない
MyDateFormatter.java
public class MyDateFormatter implements Formatter<Date>{
private String pattern = "yyyyMMdd";
@Override
public String print(Date date, Locale locale) {
if (date == null) {
return "";
}
return getDateFormat(locale).format(date);
}
@Override
public Date parse(String formatted, Locale locale) throws ParseException {
if (formatted.length() == 0) {
return null;
}
return getDateFormat(locale).parse(formatted);
}
protected DateFormat getDateFormat(Locale locale) {
DateFormat dateFormat = new SimpleDateFormat(this.pattern, locale);
dateFormat.setLenient(false);
return dateFormat;
}
}
TestFormatterController.java
@Controller
public class TestFormatterController {
@RequestMapping(value="/testFormatter")
public String getDate(ModelMap map){
Date date = new Date();
map.put("date", date);
return "testFormatter";
}
}
testFormatter.jsp
<h1>${date}<h1>
設定
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="formatters">
<set>
<bean class="mypackge.MyDateFormatter">
</set>
</property>
</bean>
出力がyyyyMMddに入っていません。私が逃していることを教えてください。
春にフォーマッタについて知ってもらいますか? – StanislavL
@StanislavL私の例の最後で述べた設定以外は何もする必要がありますか? – Aman
http://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/spring-define-formatter/とhttp://www.logicbig.com/tutorials/spring-framework/spring-web- mvc/spring-create-formatter-annotation / – StanislavL