Redirect URL

Per passare da un form ad un altro si può ricorrere a “redirect:/index” che però non mantiene il contesto

ModelAndView mav=new ModelAndView("redirect:/index"));

 

oppure a RedirectView() che consente di conservare il contesto

String path=retContextPath();
ModelAndView mav=new ModelAndView(new RedirectView(path+"/index"));

 


Questa modalità richiede che venga passato il ContextPath che può essere ricavato nel modo seguente

/**
* Ritorna il contextPath dall'URL.
* Prerequisito: la classe controller deve dichiarare
* @Autowired
* private ApplicationContext appContext;
*
* @author N4N
* @return
*/
private String retContextPath(){
String ctx = appContext.getId();
String path = ctx.substring(ctx.indexOf(":")+1);
path = path.substring(0,path.indexOf("/",1));

return path;
}