${message} 显示在 View 中,而不是 Spring MVC 控制器中传递的真实消息

问题描述 投票:0回答:1

我正在尝试学习 Spring MVC 并遇到了一个问题。请参阅随附的代码。我没有在视图上收到真正的消息,而是在视图上收到 ${message} 。这里可能有什么问题?

这是控制器的代码:

@Controller
public class HelloController {


@RequestMapping("/hello")
public String display(@RequestParam("name")String name,@RequestParam("pass")String pass,Model m) {
    
    System.out.println("Inside display ");
    if(pass.equals("admin")) {
        
        System.out.println("Inside IF ");
        String msg = "Hello "+name;
        m.addAttribute("message", msg);
        return "viewpage";
    }
    else {
        System.out.println("Inside ELSE ");
        String msg = "Sorry "+name+" Wrong Password";
        m.addAttribute("message", msg);
        return "errorpage";
    }

}

}

这是我的jsp视图页面,需要在其中显示消息。 viewpage.jsp

<html>
<head>
<meta charset="UTF-8">
 </head>
 <body>
 ${message}
 </body>
 </html>

这是索引页。 索引.jsp

<html>
<body>
<form action="hello">
Username : <input type="text" name="name">
Password : <input type="password" name="pass">
<input type="submit" name="submit">
</form>
</body>
</html>

这是我的 spring-servlet.xml spring-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd">


<context:component-scan base-package="com.deepthi" />


<mvc:annotation-driven/>
 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"></property>
    <property name="suffix" value=".jsp"></property>        
 </bean>

这是我的 web.xml 网络.xml

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>  
<servlet-name>spring</servlet-name>  
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet- 
class>  
<load-on-startup>1</load-on-startup>    
</servlet>  
<servlet-mapping>  
<servlet-name>spring</servlet-name>  
<url-pattern>/</url-pattern>  
</servlet-mapping>  
</web-app>

我也在这里添加了pom.xml: pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.deepthi</groupId>
<artifactId>SprinMVCReqParam</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>SprinMVCReqParam Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->  
<dependency>  
<groupId>org.springframework</groupId>  
<artifactId>spring-webmvc</artifactId>  
<version>5.1.1.RELEASE</version>  
</dependency>  
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->  
<dependency>    
<groupId>javax.servlet</groupId>    
<artifactId>servlet-api</artifactId>    
<version>3.0-alpha-1</version>    
</dependency>  
</dependencies>
<build>
<finalName>SprinMVCReqParam</finalName>
</build>
</project>

这就是我的输出:

java spring spring-mvc jsp
1个回答
0
投票

web.xml
是错误的,它没有任何有价值的信息。这样你就可以删除它了。

© www.soinside.com 2019 - 2024. All rights reserved.