Я пытаюсь зарегистрировать глобальный формат даты в приложении Spring MVC. Я следовал the documentation. Соответствующая часть моего файла конфигурации Spring выглядит следующим образом:Spring MVC игнорирует глобальный формат даты?
<beans:bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<beans:property name="registerDefaultFormatters" value="false" />
<beans:property name="formatters">
<beans:set>
<beans:bean class="org.springframework.format.number.NumberFormatAnnotationFormatterFactory" />
</beans:set>
</beans:property>
<beans:property name="formatterRegistrars">
<beans:set>
<beans:bean class="org.springframework.format.datetime.DateFormatterRegistrar">
<beans:property name="formatter">
<beans:bean class="org.springframework.format.datetime.DateFormatter">
<beans:property name="pattern" value="yyyyMMdd"/>
</beans:bean>
</beans:property>
</beans:bean>
</beans:set>
</beans:property>
</beans:bean>
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven conversion-service="conversionService" />
На основе документации, это мое понимание того, что это должно использовать сконфигурированный DateFormatter
для всех моих свойств java.util.Date что я выписывать. Однако, когда я только выписывать дату (типа java.util.Date
в моем файле JSP, как это:
Availability Date: ${model.availabilityDate}
Он по-прежнему записывает дату в формате по умолчанию SHORT
, фактически игнорируя мой формат по умолчанию
I. что я могу зарегистрировать методы @InitBinder
или указать форматы с @DateTimeFormat
, но это не главное. Я хотел бы изменить глобальное значение по умолчанию, чтобы обеспечить согласованный вывод дат в определенном формате, если не указано иное.
Я нашел другое вопросы о SO похожи на thi s один, однако ни один, кажется, чтобы помочь мне решить мою проблему:
- Set default/global date format in Spring MVC to ISO 8601
- Set date format for an input text using Spring MVC
- spring mvc date format with form:input