CustomDateEditor

De Dos Ideas.
Saltar a: navegación, buscar

Editor de propiedades del tipo java.util.Date.

Su funcionalidad consiste en poder declarar un Date como String mediante inyección de dependecias y que sea Spring quien haga toda la transformaación.

Lo primero que debemos hacer es crear un bean que le diga a Spring que editores de propiedades vamos a usar en nuestra aplicación.

Configuración del CustomEditorConfigurer

   <bean id="customEditorConfigurer"
       class="org.springframework.beans.factory.config.CustomEditorConfigurer">
       <property name="customEditors">
           <map>
               <entry key="java.util.Date">
                   <bean class="org.springframework.beans.propertyeditors.CustomDateEditor">
                       <constructor-arg index="0">
                           <bean class="java.text.SimpleDateFormat">
                               <constructor-arg value="dd/MM/yyyy"/>
                           </bean>
                       </constructor-arg>
                       <constructor-arg index="1" value="false"/>
                   </bean>
               </entry>
           </map>
       </property>
   </bean>


CustomEditorConfigurer es un BeanPostProcessor que carga los editores de propiedades en la BeanFactory. Cuando Spring detecte que tiene una propiedad del tipo java.util.Date llamará a su editor de propiedades correspondiente, en este caso CustomDateEditor. El constructor de CustomDateEditor recibe dos parámetros un DateFormat, que permite definir el formato de fecha esperado y un booleano "allowEmpty" para ver si admite el valor nulo.

Configuración de nuestro Bean