Spring Controller变量不在视图页面中打印

时间:2018-10-30 05:07:05

标签: spring

我是Spring Mvc的新手,所以我在下面有一个简单的问题

代码1:

@RequestMapping("/hello")
    public ModelAndView hello()
    {
        String str="Be happy!!!!!";
        return new ModelAndView("hello","message",str);
    }

在hello.jsp查看页面中,当我打印str时,我得到的结果为$ {message}

代码2:

@RequestMapping("/hello")
    public ModelAndView hello()
    {
        String str="Be happy!!!!!";
        return new ModelAndView("hellopage","message",str);
    }

但是在hellopage.jsp中,我得到的结果是开心!!!!!

那为什么上面的代码1不显示str字符串?

下面是我的视图页面jsp代码,对于hello.jsp和hellopage.jsp都是相同的:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

</head>
<body>
${message}
</body>
</html>

2 个答案:

答案 0 :(得分:1)

hello.jsp中,将此表达式<%@ page isELIgnored="false"%>放在顶部。有时会自动关闭页面的表达语言

答案 1 :(得分:1)

未对EL表达式求值?可能有以下一种或多种原因:

  1. 有问题的应用程序服务器不支持JSP 2.0。
  2. 未将web.xml声明为Servlet 2.4或更高版本。
  3. @page配置为isELIgnored = true。
  4. web.xml在中配置为true。

在您的情况下,看起来像第3种情况。尝试在jsp文件中放入isElIgnored = false。