2008-09-15 16 views

Odpowiedz

0

Nie jesteś pewien, o co pytasz?

Sprężyna dostarczana jest z CustomEditorConfigurer w celu dostarczenia niestandardowych ciągów znaków < -> Konwertery obiektów.

Aby skorzystać z tej opcji, wystarczy dodać niestandardowy konfigurator CustomEditorConfigurer do konfiguracji i dodać niestandardowe konwertery. Jednak te konwertery są zwykle używane podczas konwersji atrybutów ciągów w pliku konfiguracyjnym na rzeczywiste obiekty.

Jeśli używasz MVC wiosny, a następnie spojrzeć na odcinku o annotated MVC

szczególności spojrzeć na @RequestParam i @ModelAttribute adnotacji?

Mam nadzieję, że to pomaga?

4

Mam kontroler MVC z RequestMapping adnotacji. Jedna metoda ma parametr typu UUID. Dzięki Toolkit, po przeczytaniu o WebDataBinder, pomyślałem, że muszę się metody takie jak to w moim kontrolera:

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

UUIDEditor prostu rozciąga PropertyEditorSupport i nadpisuje getAsText() i setAsText().

Pracował dla mnie ładnie.

2

W rozszerzeniu do poprzedniego przykładu.

Controller klasa

@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" ; 
    } 
} 

Property 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)) ; 
    } 

} 
Powiązane problemy