SpringMVC中ModelAndView addObject()设置的值jsp取不到的问题

controller

public class HelloWorldController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        //1、收集参数、验证参数
        //2、绑定参数到命令对象
        //3、将命令对象传入业务对象进行业务处理
        //4、选择下一个页面
        ModelAndView mv = new ModelAndView();
        //添加模型数据 可以是任意的POJO对象
        mv.addObject("message", "Hello World!!!!");
        //设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
        mv.setViewName("hello");
        return mv;
    }
}

jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>

<html>
<head>
    <title>Hello Worldtitle>
head>
<body>
${message}
message=<%=request.getParameter("message")%>
body>
html>

web.xml



<web-app>
  <display-name>Archetype Created Web Applicationdisplay-name>

  <servlet>
    <servlet-name>mymvctservlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    <load-on-startup>1load-on-startup>
  servlet>
  <servlet-mapping>
    <servlet-name>mymvctservlet-name>
    <url-pattern>/url-pattern>
  servlet-mapping>

web-app>

mymvct-servlet.xml


<beans xmlns="http://www.springframework.org/schema/beans"
       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">

    
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/pages/"/>
        <property name="suffix" value=".jsp"/>
    bean>

    
    <bean name="/hello" class="cn.myspringmvct.chapter2.web.controller.HelloWorldController"/>
beans>

在csdn论坛找到了问题的原因:maven自动生成的web.xml有问题,schema写的不对,修改后可以正确取值:
web.xml



<web-app  version="2.5"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name>Archetype Created Web Applicationdisplay-name>

  <servlet>
    <servlet-name>mymvctservlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    <load-on-startup>1load-on-startup>
  servlet>
  <servlet-mapping>
    <servlet-name>mymvctservlet-name>
    <url-pattern>/url-pattern>
  servlet-mapping>

web-app>

你可能感兴趣的:(spring,mvc,web-xml,SpringMVC)