如果我有像这样的modelandView:
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
mav.addObject("message", "hello, world");
return mav;
在index.jsp中,如何输出“message”的值?
如果我传入了该怎么办:
mav.addObject("user", currentUser);
似乎文档直接进入表单处理。
答案 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
。