Penso che mi sia confuso un po 'con l'annotazione della sessione in spring mvc.Oggetti predefiniti in primavera 3 mvc SessionAttributes in caso di sessione scaduta
Ho codice come questo (2 gradini modulo di esempio, i dati step 1 utente, step 2 indirizzo)
@SessionAttributes({"user", "address"})
public class UserFormController {
@RequestMapping(method = RequestMethod.GET)
public ModelAndView show(ModelAndView mv){
mv.addObject(new User());
mv.addObject(new Address());
mv.setViewName("user_add_page");
return mv;
}
@RequestMapping(method = RequestMethod.POST)
public String processForm(User user, BindingResult result){
new UserValidator().validate(user, result);
if(result.hasErrors()){
return "user_add_page";
}else{
return "redirect:/user_form/user_add_address";
}
// .........
}
Ora, se mi presento pagina dopo la mia sessione scade ottengo errore
org .springframework.web.HttpSessionRequiredException: sessione attributo 'utente' necessaria - non trovato in sessione
Come lo gestisco? Mi piacerebbe avere 2 opzioni
- creo oggetti vuoti se mancante in sessione ed accettare presentare
- i successivo indietro modulo utente con qualche messaggio
Im ancora in fase iniziale di apprendimento Primavera mi dispiace se è qualcosa di molto ovvio, non posso vederlo.
ps. è che anche il buon modo di risolvere questo tipo di modulo in primavera in mvc o consiglieresti un approccio diverso?
Accanto a tale aggiunta '@ ModelAttribute' all'attributo' User' nel metodo 'processForm'. –