【问题标题】:Not able to pass object from controller to view page in spring mvc无法将对象从控制器传递到spring mvc中的查看页面
【发布时间】:2018-07-15 08:53:54
【问题描述】:

我打算将“greetings”对象从控制器传递到查看页面,但输出为 ${greetings},因为它应该显示为“WELCOME TO SPRING”。我在我的代码中到处查看,但我没有得到错误是什么。我之前已经这样做了,但是第一次遇到这个错误。请有人帮助我。

@RequestMapping(value= {"/","/home","/index"})
    public ModelAndView index() {
        ModelAndView mv=new ModelAndView("page");
        mv.addObject("greetings","WELCOME TO SPRING");
        return mv;
    }

page.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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>
<h1>${greetings}</h1>
</body>
</html>

调度程序-servlet.xml

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:context = "http://www.springframework.org/schema/context"
   xmlns:mvc = "http://www.springframework.org/schema/mvc"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   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.ashwin.pasalstore.controller " />

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


   </beans>

web.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>

  <!-- configuring dispatcher-servlet -->
  <servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>

  <servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>

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.ashwin</groupId>
  <artifactId>pasalstore</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>pasalstore Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <properties>
   <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
  <spring.version>4.3.6.RELEASE</spring.version>
  </properties>

  <dependencies>

 <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

    <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>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/jstl/jstl -->
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>



  </dependencies>

  <build>
    <finalName>pasalstore</finalName>
     <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
    </plugin>
  </plugins>
  </build>
</project>

【问题讨论】:

    标签: java spring spring-mvc


    【解决方案1】:

    在您的web.xml 中,您将其声明为Servlet2.3

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd">
    

    改为Servlet2.4或更高,如下:

    <web-app 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        id="Your_WebApp_ID"
        version="2.5">
    
        <!-- Your configuration codes-->
    
    </web-app>
    

    【讨论】:

    • 描述资源路径位置类型无法将项目构面动态 Web 模块的版本更改为 2.5。 pasalstore 第 1 行 Maven Java EE 配置问题
    • @KarkiAshwin 如果你想在你的项目中使用EL expression,你必须将你的Servlet从2.3更新到2.4或更高版本,因为2.3不支持EL expression跨度>
    • 我理解并按照您所说的做了,但我收到版本不匹配错误
    • @KarkiAshwin 你需要更新你的pom.xml 到正确的版本
    • 请兄弟帮助我,我在这些工作中被困了 3 天。我应该在 pom.xml 中升级什么?
    猜你喜欢
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 2014-11-21
    • 2012-11-16
    • 2013-12-13
    • 2015-09-13
    • 1970-01-01
    • 2015-11-11
    相关资源
    最近更新 更多