我没有从restcontroller返回字符串到jsp页面

时间:2018-05-28 09:17:18

标签: spring spring-mvc controller

 @Controller
public class RestController {

    @RequestMapping(value = { "/", "/home" }, method = RequestMethod.GET)
    public String homePage(ModelMap model) {
        model.addAttribute("greeting", "Hi, Welcome to mysite");
        return "welcome";
    }
}


    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"  pageEncoding="ISO-8859-1"%>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Welcome page</title>
</head>
<body>
    Greeting : ${greeting}
    This is a welcome page.
</body>
</html>

运行porgam时输出&#34;问候语:$ {greeting}这是一个欢迎页面。&#34;

在jsp上没有获得$ {greeting}值

2 个答案:

答案 0 :(得分:0)

尝试将以下内容置于jsp页面之上以启用表达式语言。

<%@ page isELIgnored="false" %>

答案 1 :(得分:0)

检查您的web.xml文件web-app标记,此标记类似于<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"............version="3.0">,此处的servlet版本为3.0,JSP表达式语言[{..}] by在上面的2.4 Servlet版本中启用了默认值。

Servlet版本2.3 [<web-app xmlns:xsi=….. version=”2.3”>]或更低版本默认情况下未启用。

激活EL For Single JSP: 如果要在JSP页面中启用表达式语言,请使用 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"isELIgnored="false" %>

简单地说:<%@ page isELIgnored="false" %><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"isELIgnored="false" %>

为所有JSP页面激活EL:  激活所有JSP页面的EL(表达式语言),只需将以下代码添加到web.xml

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

停用单个JSP的EL: 如果要在JSP页面中禁用EL(表达式语言),请使用Like <%@ page isELIgnored="true" %><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"isELIgnored="true" %>

停用所有JSP页面的EL:停用所有JSP页面的EL(表达式语言),只需将以下代码添加到web.xml

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

如果有帮助请升级。