2008-09-15 27 views

Respuesta

0

¿No estás seguro de lo que estás preguntando?

La primavera viene con CustomEditorConfigurer para suministrar Cadena personalizada < -> Convertidores de objetos.

Para usar esto, solo agregue el CustomEditorConfigurer como bean a su configuración, y agregue los convertidores personalizados. Sin embargo, estos convertidores se utilizan normalmente al convertir atributos de cadena en el archivo de configuración en objetos reales.

Si está utilizando Spring MVC, a continuación, echar un vistazo a la sección sobre annotated MVC

Específicamente, echar un vistazo a la @RequestParam y los @ModelAttribute anotaciones?

Espero que ayude?

4

Tengo un controlador MVC con anotaciones RequestMapping. Un método tiene un parámetro de tipo UUID. Gracias kit de herramientas, después de leer sobre WebDataBinder, pensé que necesito un método como este en mi controlador:

@InitBinder 
public void initBinder(WebDataBinder binder) { 
    binder.registerCustomEditor(UUID.class, new UUIDEditor()); 
} 

UUIDEditor simplemente extiende PropertyEditorSupport y anula getAsText() y setAsText().

Me han funcionado muy bien.

2

En extensión al ejemplo anterior.

controlador de clase

@Controller 
@RequestMapping("/showuuid.html") 
public class ShowUUIDController 
{ 

    @InitBinder 
    public void initBinder(WebDataBinder binder) 
    { 
    binder.registerCustomEditor(UUID.class, new UUIDEditor()); 
    } 

    public String showuuidHandler (@RequestParam("id") UUID id, Model model) 
    { 
    model.addAttribute ("id", id) ; 
    return "showuuid" ; 
    } 
} 

Propiedad de-munger

class UUIDEditor extends java.beans.PropertyEditorSupport 
{ 

    @Override 
    public String getAsText() 
    { 
    UUID u = (UUID) getValue() ; 
    return u.toString() ; 
    } 

    @Override 
    public void setAsText (String s) 
    { 
    setValue (UUID.fromString (s)) ; 
    } 

} 
Cuestiones relacionadas