Ao usar o SpringMVC, você geralmente encontra conversões entre as strings de data no formulário e o tipo de data de Javabean, enquanto o SpringMVC não suporta conversões nesse formato por padrão, portanto, você precisa configurar manualmente e personalizar a ligação de dados para resolver esse problema.
Use o Springmvc Anotation @initbinder e a classe WebDateBinder da Spring para operar em controladores que exigem conversão de data.
O WebDatabinder é usado para vincular parâmetros de solicitação ao editor de propriedades especificado. Como o valor passado para o controlador em primeiro plano é do tipo de string, quando definido o valor no modelo, se a propriedade do conjunto for um objeto, o Spring encontrará o editor correspondente para conversão e o definirá.
O código é o seguinte:
@Initbinder public void initBinder (WebDatabinder Binder) {SimpleDateFormat DateFormat = new SimpleDateFormat ("AAAA-MM-DD"); dateFormat.setLenient (false); Binder.RegisterCustomeditor (DATE.CLASS, NOVA CustomDateEditor (DateFormat, True)); }Precisa adicionar o arquivo de configuração no springmvc
<!-Registro de analisador-> <Bean> <propriedade name = "messageconverters"> <list> <ref bean = "stringhttpmessageConverter"/> </list> </operty> </i bean> <!-String Type Parser, permitir o retorno direto da string ---> <Bean ID = "StringhttpM.
Mudança de escrita
<MVC: Anotação-Driven> <MVC: Message-Converters> <Bean> <Construtor-Arg Value = "Utf-8"/> </Bean> </MVC: Message-Converters> </MVC: Annotation-Driven>
expandir:
O Spring MVC registrará esses editores antes de vincular o formulário. A própria Spring fornece um grande número de classes de implementação, como CustomDateEditor, CustomBooleaDitor, CustomNumberEDitor etc., que são basicamente suficientes.
Ligue para o Método RegisterCustomeditor do WebDatabinder ao usar
Código fonte do RegisterCustomeditor:
public void RegisterCustomeditor (classe <?> requerirtype, Propertyeditor propertyEditor) {getPropertyeditorRegistry (). RegisterCustomeditor (requerirtype, Propertyeditor);} O primeiro parâmetro necessário é o tipo que precisa ser convertido.
O segundo parâmetro Propertyeditor é o editor de propriedades, que é uma interface. Os exemplos acima mencionados, como o CustomDateEditor, todos herdam a classe PropertyEditorSupport que implementa essa interface.
Também não podemos usar essas classes de editor que os acompanham.
Podemos nos construir:
importar org.springframework.beans.propertyeditors.propertieSeditor; public class Doubleeditor estende PropertyedItorsupport {@Override public void SeterStext (texto da string) lança ilegalargumentException {if (text == NULL | } setValue (duplo.parseDouble (texto)); } @Override public string getastext () {return getValue (). Tostring (); }}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.