Wie könnte ich wieder ein Spring MVC ModelAndView als String in eine JSONResponse Objekt?
Was ich tun will:
- Ein Benutzer eine Liste von Auswahlmöglichkeiten von Aktionen zu nehmen, zum Beispiel, Suche Benutzer, Neuer Benutzer Registrieren, und so weiter. Meine Idee ist, dass wenn ein Benutzer klicken Sie auf wählen Sie eine der Möglichkeiten, die ein AJAX-Aufruf ausgelöst wird, mithilfe von JQuery und dann die Methode ausgeführt wird, die einen JSONResponse.
Einen JSONResponse ist nur ein einfaches Objekt mit 2 Variablen: - status als Zeichenfolge an, und als Ergebnis-Objekt, wie folgt:
public class JSONResponse {
private String status = null;
private Object result = null;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Object getResult() {
return result;
}
public void setResult(Object result) {
this.result = result;
}
}
Aber manchmal möchte ich zurück ein ModelAndView in dieser Antwort. Zum Beispiel: wenn der Benutzer nach einem Benutzer, der Anwendung sucht und dann wieder ein ModelAndView mit einer Liste der möglichen Benutzer. Ein Weg dies zu erreichen ist zum Rendern ein ModelAndView als String und setzen Sie ihn dann als Ergebnis in einer JSONResponse Objekt. Das problem ist, wie kann ich das Rendern einer ModelAndView als String um Sie in die JSONReponse?
PS: ich bin mit Tomcat 7, JDK 6, Spring MVC 3.0 mit Fliesen 2, Jackson (zum konvertieren von java-Objekten in JSON)
- Was meinst du mit "pass ModelAndView" als JSONRespose? und warum wollen Sie es tun?
- Und warum nicht einfach return ModelAndView als ModelAndView und lassen Feder umgehen? (Lösung und das Rendern der neuen Seite)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Frage, was ich verstehe, ist, manchmal müssen Sie json zurückgeben und manchmal Modell und view, weil Sie auf der Durchreise sind-Suchliste unter Verwendung von model und view.
Idealerweise sind diese zwei Dinge, die behandelt werden müssen, in verschiedenen Methode, aber wie Sie damit umgehen wollen, die im gleichen Methode dann deine Methode zurückgeben muss String statt ModelAndView, so dass Sie zurückkehren können json-Daten. Und Suche die Liste, die Sie senden möchten, kann man Sie in die Sitzung und dann bekommen Sie es auf JSP-Seite (weil der Session-Scope).
Methode wird ähnlich Aussehen, wie diese :
Können Sie return ModelAndView wenn benötigt, sonst schreiben, um eine Antwort stream.