Spring-MVC-Modell-Attribut nicht angezeigt
Zeigt die Ausgabe ${message} nicht die "Feder".
Gibt es eine Abhängigkeit zu zeigen, den Wert meiner Botschaft?
Ich habe bereits verwendet, Spring MVC, aber ich verwendete xml-Konfiguration. Bin ich hier etwas fehlt?
Hoffe Sie können mir helfen, dies herauszufinden.
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- Spring dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.3</version>
</dependency>
</dependencies>
controller
package com.jwlayug.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ControllerA {
@RequestMapping(value = "/hello")
public String printHello(Model model) {
model.addAttribute("message", "Spring");
System.out.println("this method is called!");
return "hellow";
}
}
config
package com.jwlayug.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.JstlView;
import org.springframework.web.servlet.view.UrlBasedViewResolver;
@Configuration
//Marks this class as configuration
//Specifies which package to scan
@ComponentScan("com.jwlayug")
//Enables Spring's annotations
@EnableWebMvc
public class Config {
@Bean
public UrlBasedViewResolver setupViewResolver() {
UrlBasedViewResolver resolver = new UrlBasedViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setViewClass(JstlView.class);
return resolver;
}
}
package com.jwlayug.config;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration.Dynamic;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
public class WebInitializer implements WebApplicationInitializer{
public void onStartup(ServletContext servletContext)
throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(Config.class);
ctx.setServletContext(servletContext);
Dynamic servlet = servletContext.addServlet("dispatcher",
new DispatcherServlet(ctx));
servlet.addMapping("/");
servlet.setLoadOnStartup(1);
}
}
jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
${message}
<c:out value="${message}" />
</body>
</html>
- Können Sie uns zeigen Sie Ihre Bohnen Konfiguration? also bitte hinzufügen controllerA-context.xml, wenn Sie eine haben.
- ich habe kein xml ist.
- Ich glaube nicht, verwenden Sie diese Möglichkeit, also ich kann nur raten, jetzt meist. Ich kann sehen, dass Ihre resolver gibt die verwendeten JSP, basierend auf, was zurückgegeben wird von der Steuerung. Aber wo ist die Konfiguration, die spezifiziert, welcher controller ist in der Bohne, und so weiter? Frage nur jetzt.
- werfen Sie einen Blick auf dieses tutorial. javahash.com/spring-4-mvc-hello-world-tutorial-full-example
Du musst angemeldet sein, um einen Kommentar abzugeben.
${message}
ist keine gültige syntax für JSP außerhalb eines EL-Ausdrucks wie die, die Sie haben in<c:out/>
.Bitte haben Sie einen Blick auf http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm
Ich fand die Lösung durch das hinzufügen dieser beiden Zeilen von code am Anfang Ihrer jsp..
Müssen Sie die return-Modell zur Ansicht.
dann in Ihre jsp: