spring mvc EL ModelAndView的 Model 值 在jsp中不显示

转载 2016年08月29日 11:59:59
问题:
spring mvc开发过程中, 经常会给model addAttribute, 然后通过EL在jsp中显示,比如 ${msg}, 
但是有时候会出现jsp最后显示的还是${msg},而不是msg赋值过的

Spring Controller


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
 
public class ABCController extends AbstractController{
 
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
 
ModelAndView model = new ModelAndView("HelloWorldPage");
model.addObject("msg", "hello world");
 
return model;
}
 
}
JSP page


<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
             ${msg}
</body>
</html>
解决方法:
原因在于老的JSP 1.2 声明.


1. JSP 1.2
如果你用的jsp1.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是默认关闭的。。。必须手动打开。<%@ page isELIgnored="false" %>


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


2. JSP 2.0
JSP2.0默认是打开支持EL的,所以声明jsp2.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>

spring构建web应用以及ModelAndView中的 model value 在JSP中的EL表达式显示null解决办法

创建一个Hello world的例子,使用Java配置。 通过对应的Java替换XML配置。 以 Spring Java为基础的配置取决于Servlet 3.0 的API, 因此,我们需要包含的依赖在...
  • Victor_Cindy1
  • Victor_Cindy1
  • 2016年08月01日 11:23
  • 1233

Spring mvc 实例 --JSTL结合EL实现JSP获取后台List回显界面

JSTL 和 EL 间的关系 【详见 java web前端瘦身器】,从该篇博客可以看出,JSTL是java web前台页面标签的集合,形成了一套规范,利用JSTL标签显示数据。EL表达式...
  • Daybreak1209
  • Daybreak1209
  • 2015年12月07日 11:44
  • 8993

SpringMVC中JSP页面不显示EL表达式的原因

本文分析在Spring MVC开发中, JSP页面不显示EL表达式的原因
  • renfufei
  • renfufei
  • 2017年01月18日 11:38
  • 3457

spring mvc ModelAndView向前台传值

今天在做项目的时候遇到一个问题,把第一个页面保存的id传到第三个页面中去用,原来是在controller层加了一个全局变量控制的,但是后来发现这个变量实现不了我要的功能,于是查了一下,原来ModelA...
  • pql925
  • pql925
  • 2016年03月13日 08:40
  • 462

Spring-MVC中ModelAndView对象所添加的内容在前端用EL表达式获取不到的问题

原来是IntelliJ IDEA默认生成的web.xml文档的头部不正确 Archetype Cr
  • qq_32891219
  • qq_32891219
  • 2017年02月28日 17:55
  • 157

Spring MVC-Controller和@RequestMapping ModelAndView配置和用法-restful风格

Spring3系列13-Controller和@RequestMapping   Controller返回值,String或者ModelAndView @RequestMapping关联url ...
  • spokenInChina
  • spokenInChina
  • 2015年03月06日 16:59
  • 2532

Spring MVC ModelAndView

ModelAndView的构造方法有7个。但是它们都是相通的。这里使用无参构造函数来举例说明如何构造ModelAndView实例。     ModelAndView类别就如其名称所示,是代表了MVC...
  • liuwenbo0920
  • liuwenbo0920
  • 2012年02月17日 09:03
  • 10252

Spring MVC 中处理模型数据 (一)ModelAndView ModelMap @sessionAttributes

1、目标方法的返回值可以是 ModelAndView 类型。 * 其中可以包括视图和模型信息 * SpringMVC 会把 ModelAndView 的 model 中数据放到...
  • bug_moving
  • bug_moving
  • 2016年11月07日 13:46
  • 1046

Spring MVC —ModelAndView类的构造方法

当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。因此,经常需要在控制器中构造ModelAndView对象。M...
  • wangshuxuncom
  • wangshuxuncom
  • 2013年11月07日 09:36
  • 4252

spring MVC 之构造ModelAndView对象

小Tip:       ModelAndView中通过addObject()方法添加的属性的获取方法,eg:      Action中:      。。。。      modelAndView.add...
  • linan0930
  • linan0930
  • 2013年11月18日 21:30
  • 7340
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring mvc EL ModelAndView的 Model 值 在jsp中不显示
举报原因:
原因补充:

(最多只允许输入30个字)