ho notato che questo controller è stato deprecato nell'ultima primavera e si chiedeva quale fosse il controller alternativo?Spring SimpleFormController in 3.0
risposta
In Spring 3.0 è necessario utilizzare classi semplici annotate da @Controller
. Tale controller può gestire più di una richiesta. Ogni richiesta viene gestita con il proprio metodo. Questi metodi sono annotati da @RequestMapping
.
Una cosa che è necessario ripensare è il fatto che una vecchia scuola SimpleFormController
gestisce molte richieste diverse (almeno: una per ottenere il modulo e un secondo per inviare il modulo). Devi gestirlo ora a mano. Ma credimi è più facile.
Per esempio, questo controller in REST Stile, gestirà due richieste:
- /libro - POST: per creare un libro
- /libro/forma - GET: per ottenere la forma per la creazione
del codice Java:
@RequestMapping("/book/**")
@Controller
public class BookController {
@RequestMapping(value = "/book", method = RequestMethod.POST)
public String create(
@ModelAttribute("bookCommand") final BookCommand bookCommand) {
Book book = createBookFromBookCommand(bookCommand);
return "redirect:/book/" + book.getId();
}
@RequestMapping(value = "/book/form", method = RequestMethod.GET)
public String createForm(final ModelMap modelMap) {
modelMap.addAttribute("all", "what you need");
return "book/create"; //book/create.jsp
}
}
applausi. la mappatura annota è tutto nuovo per me mentre stavo seguendo questo libro ho ottenuto http://www.amazon.co.uk/Spring-Action-Craig-Walls/dp/1933988134/ref=sr_1_1?ie=UTF8&qid=1295447914&sr=8 -1 – jonney
domanda veloce. vuol dire che non devo più mappare i miei controller in bean tramite i file xml? – jonney
@jonney: Sì, ci sono nuove annotazioni: @Controller, @Service, @Repository, nonché @Autowire e @Inject. Ma devi abilitare qualcosa che è chiamato scansione dei componenti nel tuo xml. - Dai un'occhiata al blog SpringSource (verso la fine del 2009) e alla sezione sulle nuove funzionalità del riferimento Spring. - Sei anche libero di fare una nuova domanda. – Ralph
Annotated POJOs può funzionare come controller; vedi @Controller
.
grr, sei stato il primo :-) –
Perché mai è stato votato in ribasso, un anno e mezzo dopo che è stato pubblicato? Anche le altre risposte hanno votato? – duffymo
Nella versione 3.0, i controller non devono più ereditare da una classe base. Il modo standard è utilizzare annotated controllers.
- 1. Come posso utilizzare SimpleFormController con Validator con Spring 3?
- 2. File di proprietà multiple in Spring 3.0
- 3. Spring 3.0 inietta i file come risorse
- 4. Servlet 3.0 Spring Java Config JNDI
- 5. Integrazione GWT 2.0 con Spring Security 3.0
- 6. Spring 3.0 ORM con JPA 2.0 ClassCastException
- 7. MultipartConfig con Servlet 3.0 su Spring MVC
- 8. Come visualizzare un DateTime formattato in Spring MVC 3.0?
- 9. Jersey con molla 3.0?
- 10. Spring MVC and Servlets 3.0 - Hai ancora bisogno di web.xml?
- 11. Spring 3.0 - @Transactional timeout del cambio di runtime
- 12. Come registrare gli intercettori di handler con spring mvc 3.0?
- 13. Richiesta di inoltro Spring 3.0 a controller diversi
- 14. Come parametrizzare @Scheduled (fixedDelay) con linguaggio di espressione Spring 3.0?
- 15. Spring Security 3.0 Google Apps apre l'accesso con ID OpenID4Java
- 16. Utilizzo dell'annotazione Spring MVC 3.0 e @EJB wtihout mappedName?
- 17. Errore Spring 3.0: java.lang.NoClassDefFoundError: org/aspectj/lang/NoAspectBoundException
- 18. Disabilita sicurezza metodo Spring nella versione 3.0.x
- 19. Spring 3.0 MVC: reindirizzamento senza parametri aggiunti al mio url
- 20. f.error_messages in Rails 3.0
- 21. Spring in JBoss 7
- 22. Ordine di intercettazione primavera 3.0 3.0
- 23. Come convertire XML in un oggetto utilizzando il mvc Spring 3.0 mentre faccio richiesta RESTful
- 24. Errore di parsing dei parametri di cattura in Spring 3.0 WebMVC
- 25. Parametri della richiesta di rilegatura con trattini di sottolineatura in Spring MVC 3.0
- 26. Come posso iniettare un valore di proprietà in un'annotazione configurato Spring MVC 3.0 regolatore
- 27. Come eseguire Spring 3.0 PetClinic in tomcat con Hibernate con supporto JPA
- 28. Come COUNT (*) in Slick 3.0?
- 29. GameKit in iPhone SDK 3.0
- 30. For-loops in Python 3.0
Tenete a mente che Wile la roba deprecato funziona ancora a Spring 3, i ragazzi di primavera sono MUC h più aggressivo nella rimozione di API deprecate rispetto alle persone JavaSE, che in realtà le rimuoveranno. – skaffman
Yup 'SimpleFormController' non è più supportato (provato con' 4.0.4.RELEASE'). –