Spring MVC JSP页不显示花括号内的变量值,只显示变量名

6l7fqoea  于 2022-11-30  发布在  Spring
关注(0)|答案(1)|浏览(138)

我正在学习springmvc并使用jsp作为我的视图层,但是当我在模型中放置一个属性时,jsp页面出现了问题

@RequestMapping
    public String sayHello(ModelMap model)
    {
        model.addAttribute("message","welcome to 3-IDIOTS web store");

        return "hello";
    }

然后在jsp页面中hellow.jsp我尝试这样使用它

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

<html>
<head>
    <title>Title</title>
</head>
<h2>${message}</h2>
<body>

</body>
</html>

然后开始运行tomcat并运行应用程序我得到这个this is what happens when I run tomcat

  • 注意:* 我知道我可以用下面的代码解决这个问题
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String message =(String) request.getAttribute("message");

%>

<html>
<head>
    <title>Title</title>
</head>
<h2><%=message%></h2>
<body>

</body>
</html>

但我想知道为什么使用${meassage}的代码不起作用。

pvcm50d1

pvcm50d11#

此语法是el(表达式语言)必须显式启用的。
在jsp中添加此参数isELIgnored=false

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="UTF-8" isELIgnored="false" %>

或者将此内容添加到web.xml中

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <el-ignored>true</el-ignored>
    </jsp-property-group>
</jsp-config>

相关问题