ModelAndView传参到JSP页面取不到值

代码如下:

@RequestMapping("/modelandview")
  	  public ModelAndView moderAndView(){
	        ModelAndView mav=new ModelAndView();
	        //跳转到JSP页面
	        mav.setViewName("add");
	        mav.addObject("name","张三");
	        System.out.println(mav.getModel().get("name"));
	        return mav;
    }

控制台打印结果显示值已经存入ModelAndView中了,但在JSP页面用EL表达式${name}取值一直无法取出, 页面直接显示 ${name} 而不是存储的值。

JSP页面代码为:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>hello  ,Lily</h1>
${name}
</body>
</html>

解决:在<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>中加入isELignored=false。

在page directive中的isELIgnored属性用来指定是否忽略。 格式为: <%@ page isELIgnored="true|false"%> 如果设定为真,那么JSP中的表达式被当成字符串处理。 比如下面这个表达式KaTeX parse error: Expected }, got EOF at end of input: …ored="true"时输出为{2000 % 20},而isELIgnored="false"时输出为100。Web容器默认isELIgnored="false"。

经验分享 程序员 微信小程序 职场和发展