当使用.jsp的视图spring mvc,并传递ModelAndView时,如何输出模型?

时间:2010-06-28 03:50:08

标签: java spring spring-mvc

如果我有像这样的modelandView:

ModelAndView mav = new ModelAndView();

mav.setViewName("index");
mav.addObject("message", "hello, world");

return mav;

在index.jsp中,如何输出“message”的值?

如果我传入了该怎么办:

mav.addObject("user", currentUser);

似乎文档直接进入表单处理。

3 个答案:

答案 0 :(得分:5)

您可以使用以下EL语言输出:

$ {message}和$ {user}

在你的jsp中。 Spring自动扫描jsp并处理这些和其他EL表达式。

答案 1 :(得分:0)

您可以使用

<c:if test="${message!=null}">
        ${message}
    </c:if>

答案 2 :(得分:0)

1-如果您使用的是旧的 JSP 1.2 描述符,例如由DTD定义 的web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
//...
</web-app>

默认情况下 EL被禁用或被忽略,您必须手动启用它,以便它将在message模型中输出值存储。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<%@ page isELIgnored="false" %>
</head>
<body>
           ${message}
</body>
</html>

2-在 JSP 2.0

例如,如果您使用的是由w3c架构定义的标准 JSP 2.0 描述符 的web.xml

<web-app id="WebApp_ID" version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
//...
</web-app>

默认情况下 EL已启用,您应该会看到[{1}}模型中存储的值message