jsp页面通过EL表达式取不到值解决办法

一个偶然的机会遇到了这样一个问题:页面通过EL表达式获取java后台设置的值,结果原样显示el表达式。
后端设置属性值代码如下:

@RequestMapping(value{"/","/welcome**"},method=RequestMethod.GET)
public ModelAndView welcome(){
    ModelAndView page = new ModelAndView();
    page.addObject("title", "welcome");
    page.addObject("message", "hello,this is a welcome page.");
    page.setViewName("hello");
    return page;
}

jsp页面获取值:

<body>
      <h2>title:${title }h2>
      <h2>message:${message }h2>
body>

运行服务器,访问页面出现如下结果:

title:${title }
message:${message }

最后的解决办法有两个,个人倾向于第二个:

  • 页面上增加<%@ page isELIgnored=”false” %>代码手动开启el。
  • 使用最新的Servlet3.1规范,不要使用默认的2.3dtd,修改web.xml文件。

    
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
         <display-name>securityannotationdisplay-name>
         <welcome-file-list>
              <welcome-file>index.jspwelcome-file>
         welcome-file-list>
    web-app>

你可能感兴趣的:(java)