美文网首页Java World程序员
SpringMVC中model属性jsp页面无法解析的问题

SpringMVC中model属性jsp页面无法解析的问题

作者: Mr_Shang | 来源:发表于2016-11-04 13:23 被阅读137次

问题

controller中给model设置属性,比如model.addAttribute("msg","some message")
然后通过EL在jsp中显示,${msg}, 但是jsp最后显示的还是${msg},而不是some message

demo:

controller

    public class SomeController extends AbstractController{
 
    @Override
      protected ModelAndView handleRequestInternal(HttpServletRequest request,
          HttpServletResponse response) throws Exception {
 
          ModelAndView model = new ModelAndView("HelloWorldPage");
          model.addObject("msg", "some message");
 
          return model;
    }
 
}

jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
  <body>
             ${msg}
  </body>
</html>

解决方法

1 使用JSP 1.2

如果你用的jsp1.2版本的DTD

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

那么EL表达式是默认关闭,需要在jsp页面添加<%@ page isELIgnored="false" %>

jsp:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false" %>
<html>
  <head>
  </head>
  <body>
      ${msg}
  </body>
</html>

2 使用JSP 2.0

JSP2.0默认是打开支持EL的,所以声明jsp2.0就可以直接用了。

web.xml:

<web-app id="WebApp_ID" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
//...
</web-app>

相关文章

网友评论

    本文标题:SpringMVC中model属性jsp页面无法解析的问题

    本文链接:https://www.haomeiwen.com/subject/sktwuttx.html