Domanda

Mi sono davvero apprezzo Spring 3 anoation guidato mappatura dei controllori web

Ho un sacco di controllori con firme come:

@RequestMapping(value = "solicitation/create",method = RequestMethod.POST)
public String handleSubmitForm(Model model, @ModelAttribute("solicitation") Solicitation  solicitation, BindingResult result) 

Ma il mio problema è che voglio scrivere un intercettore che avrebbe Ho attraverso BindingResults dopo l'elaborazione - come faccio ad ottenere loro di HttpRequest o HttpResponse

?

come metodi intercpetor sono con firma uguali

public boolean postHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
È stato utile?

Soluzione 2

Quindi, con grande aiuto da @Axtavt sono venuto a conlusion, che si può arrivare a Bind reuslt da ModelAndView nel metodo postHandle:

void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
  String key = BindingResult.MODEL_KEY_PREFIX + "commandName";
  BindingResult br = (BindingResult) modelAndView.getModel().get(key);
}

Altri suggerimenti

Dopo l'esecuzione del metodo di controllo BindingResult viene memorizzato come un attributo di modello denominato BindingResult.MODEL_KEY_PREFIX + <name of the model attribute>, attributi modello successivi vengono uniti in attributi di richiesta. Quindi, prima di fondersi è possibile utilizzare proprio la risposta di Hurda, dopo l'uso, la fusione:

request.getAttribute(BindingResult.MODEL_KEY_PREFIX + "solicitation")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top