天天看点

JSP无法获取ModelMap里的值

刚新建了个项目,spring + springmvc + mybatis + maven,在进行页面传值时

jsp页面无法获取到ModelMap里传入的值

@RequestMapping(value="/index")
    public String index(ModelMap model, String name) {
        model.addAttribute("hello", "123");
        return "hello";
    }
           

在jsp页面直接显示成了 ${hello}

原因是jsp无法解析 el 表达式,web.xml文件头部少了些东西

两种解决方法 :
  1. 在jsp页面顶部的page标签里加入 isELIgnored=”false”
  1. 在web.xml的头部加上缺少的内容
//自动生成的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>
</web-app>
           

将其替换成以下便可(可以从其它的web.xml里复制)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

</web-app>