2009-04-24 1 views
6

In che modo, senza annotazioni, creare e collegare un controller che eseguirà un'azione basata su un parametro di query?Controller MVC di primavera Parametri di query HTTP GET

Quindi forse ho una pagina con un elenco di elementi su di esso, e ognuno di essi è un link come "edititem.htm? Id = 5". Quando l'utente fa clic su un collegamento, voglio che il controller carichi "l'articolo n. 5" e lo passi al mio modulo di modifica.

Mi dispiace fare una domanda così sciocca, ma per qualche motivo non riesco a trovare alcun esempio di come farlo online.

risposta

6

È necessario disporre di un controller associato a edititem.htm. (Forse un SimpleFormController)

Override uno dei due metodi ShowForm per popolare il vostro modello con la voce:

protected ModelAndView showForm(HttpServletRequest request, HttpServletResponse response, BindException errors){ 
//get the id 
int id = Integer.parseInt(request.getParameter("id")); 

// get the object 
Item item = dao.getItemById(id); 
return new ModelAndView(getFormView(), "item", item); 
} 

Inoltre, vedere Different views with Spring's SimpleFormController

+0

D'oh! Grazie, è abbastanza semplice! – Boden

+0

Deprecato in Spring 3 e rimosso in Spring 4. I framework Spring ovviamente non volevano supportare due approcci diversi, quindi hanno abbandonato i FormControllers a favore della configurazione basata su annotazioni. – Adam