1) Seitensprung
Den String direkt zurückgeben: Diese Methode verkettet den zurückgegebenen String mit dem Präfix und Suffix des Ansichtsparsers und springt dann. ?? Daten werden häufig im Anforderungsfeld gespeichert und auf der JSP-Seite angezeigt. Wie speichert der Controller Daten im Anforderungsfeld?
① Wird über die setAttribute()-Methode des vom SpringMVC-Framework injizierten Anforderungsobjekts festgelegt.
@RequestMapping("/quick2")
public ModelAndView quickMethod2(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("redirect:index.jsp");
return modelAndView;
}
@RequestMapping("/quick3")
public ModelAndView quickMethod3(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("forward:/WEB-INF/views/index.jsp");
return modelAndView;
}
Nach dem Login kopieren
② Wird über die addObject()-Methode von ModelAndView festgelegt.
@RequestMapping("/quick")
public String quickMethod(HttpServletRequest request){
request.setAttribute("name","zhangsan");
return "index";
}
Nach dem Login kopieren
2) Daten zurückschreiben
String direkt zurückgeben: In der Grundstufe von Web greift der Client auf den Server zu. Wenn Sie den String direkt zurückschreiben und als Antworttext zurückgeben möchten, müssen Sie nur die Antwort verwenden .getWriter().print("hello world"), was ist also, wenn Sie einen String direkt in den Controller zurückschreiben möchten?
① Verwenden Sie Response.getWriter().print("hello world"), um Daten über das vom SpringMVC-Framework injizierte Antwortobjekt zurückzuschreiben. Zu diesem Zeitpunkt ist kein Ansichtssprung erforderlich, und der Rückgabewert der Geschäftsmethode ist Leere.
@RequestMapping("/quick3")
public ModelAndView quickMethod3(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("forward:/WEB-INF/views/index.jsp");
modelAndView.addObject("name","lisi");
return modelAndView;
}
Nach dem Login kopieren
② Geben Sie die Zeichenfolge zurück, die direkt zurückgeschrieben werden muss. Zu diesem Zeitpunkt müssen Sie das SpringMVC-Framework jedoch über die Annotation @ResponseBody informieren. Die von der Methode zurückgegebene Zeichenfolge ist kein Sprung, sondern wird direkt in der http-Antwort zurückgegeben Körper.
@RequestMapping("/quick4")
public void quickMethod4(HttpServletResponse response) throws IOException {
response.getWriter().print("hello world");
}
Nach dem Login kopieren
In der Entwicklung müssen wir häufig komplexe Java-Objekte in JSON-Format-Strings konvertieren. Zum Konvertieren können wir Jackson-Koordinaten verwenden.
@RequestMapping("/quick5")
@ResponseBody
public String quickMethod5() throws IOException {
return "hello springMVC!!!";
}
Nach dem Login kopieren
2. Konvertieren Sie die Zeichenfolge im JSON-Format über Jackson und schreiben Sie die Zeichenfolge zurück.
<!--jackson-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>
Nach dem Login kopieren
Objekte oder Sammlungen zurückgeben
Verwenden Sie SpringMVC, um uns dabei zu helfen, Objekte oder Sammlungen in JSON-Strings zu konvertieren und zurückzuschreiben, Nachrichtenkonvertierungsparameter für den Prozessoradapter zu konfigurieren und die Verwendung von Jackson zum Konvertieren von Objekten oder Sammlungen anzugeben, was wir benötigen Um Spring zu verwenden, konfigurieren Sie Folgendes in mvc.xml:
@RequestMapping("/quick7")
@ResponseBody
public String quickMethod7() throws IOException {
User user = new User();
user.setUsername("zhangsan");
user.setAge(18);
ObjectMapper objectMapper = new ObjectMapper();
String s = objectMapper.writeValueAsString(user);
return s;
}
Nach dem Login kopieren
Objekte oder Sammlungen direkt in der Methode zurückgeben
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
</list>
</property>
</bean>
Nach dem Login kopieren
3) Konfigurieren Sie den Annotationstreiber
Fügen Sie @ResponseBody zur Methode hinzu, um eine Zeichenfolge im JSON-Format zurückzugeben, aber dies Die Konfiguration ist problematischer, der Konfigurationscode ist relativ groß, daher können wir den Annotationstreiber von mvc anstelle der obigen Konfiguration verwenden.
Unter den verschiedenen Komponenten von SpringMVC werden der Prozessor-Mapper, der Prozessor-Adapter und der View-Resolver als die drei Hauptkomponenten von SpringMVC bezeichnet.
Verwenden Sie
, um RequestMappingHandlerMapping (Verarbeitungs-Mapper) und RequestMappingHandlerAdapter (Verarbeitungsadapter) automatisch zu laden, die in der Spring-xml.xml-Konfigurationsdatei verwendet werden können Annotationsprozessor und Adapterkonfiguration. Verwenden Sie auch Standardmäßig integriert die zugrunde liegende Ebene Jackson, um Zeichenfolgen im JSON-Format von Objekten oder Sammlungen zu konvertieren. @RequestMapping("/quick8")
@ResponseBody
public User quickMethod8() throws IOException {
User user = new User();
user.setUsername("zhangsan");
user.setAge(18);
return user;
}
Nach dem Login kopieren
4) Wissenspunkte Datenantwortmethode von SpringMVC1) Seitensprung
String direkt zurückgeben
Rückgabe über ModelAndView-Objekt
2 ) Daten zurückschreiben. Rückgabezeichenfolge direkt
-
Objekt oder Sammlung zurückgeben
Das obige ist der detaillierte Inhalt vonBeispielanalyse einer Java SpringMVC-Datenantwort. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!