Model的数据没有在jsp显示

最近在阅读《Spring in Action》,在实践中遇到问题, 

model.addAttribute("spittleList",spittles); 的数据没有在jsp页面展示出来。再网上找到这篇文章,解决了问题。

该文章属于转载,记录自己遇到的问题,原文请看:

https://blog.csdn.net/renfufei/article/details/54599835

 

问题描述

 

在Spring MVC开发中, 开发人员可能会设置某个值到 model 中, 并通过EL表达式在JSP显示, 例如: ${msg}, 但并没有解析为对应的 “value”, 输出结果还是老样子: ${msg}。也就是说JSP中 的 EL 不起作用了,为什么呢?

SpringMVC的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 页面的内容如下:

<%@ taglib prefix="c"

uri="http://java.sun.com/jsp/jstl/core" %>

<html>

<body>

${msg}

</body>

</html>

解决办法

在 Spring MVC 的入门项目中, 这是最常见的问题。实际上这是因为使用了 JSP 1.2 规范引起的。

1. 使用JSP 1.2 定义格式

如果您使用了 老旧的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表达式默认是禁用或者忽略的, 必须手动启用,才会输出 model 中的值。示例如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>

<head>

<%@ page isELIgnored="false" %>

</head>

<body>

${msg}

</body>

</html>

可以看到,其中使用了 <%@ page isELIgnored="false" %> 来开启 EL 表达式;

2. 使用JSP 2.0 定义格式

如果使用了 标准的 JSP 2.0 描述符, 即通过w3c schema来定义, 示例如下:

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>

或者是更新的 Servlet 3.1 规范(也没有 DTD 定义):

web.xml

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

version="3.1">

//...

</web-app>

则EL是默认启用的, 可以通过EL解析到存储在model中 “msg”的值 ,即“hello world”。

参考: 使用指令编写JSP页面: http://java.boot.by/wcd-guide/ch06s02.html

原文链接: https://www.mkyong.com/spring-mvc/modelandviews-model-value-is-not-displayed-in-jsp-via-el/

翻译人员: 铁锚 http://blog.csdn.net/renfufei

翻译时间: 2017年01月18日

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
http://xidong.net/File001/File_59582.html 下载地址 servlet第0讲: 韩顺平 j2ee视频servlet第0讲开山.wmv 视频描述: 目前比较系统的j2ee视频教程比较少,我自己在学习和教授java ee的过程中,走过了许少弯路,历经彷徨和郁闷,希望把自己对java ee 理解记录下来 ,希望这部教程可以为学习java ee的同志们起到抛砖引玉的作用,让大家可以很快步入到java ee的殿堂. 韩顺平_j2ee视频实战教程servlet第1讲初识.wmv 视频描述: 我们将通过完成一个用户管理系统来讲解Servlet , 该项目用纯servlet来完成,是一个很好的练习servlet技术的案例.该项目的操作人员有两类:管理员 可以对用户进行增,删除,修改,查询普通 韩顺平 j2ee视频实战教程servlet第2讲(上集).wmv 视频描述: (-) servlet体系结构的介绍(二) servlet的网络拓扑结构(三) servlet的几个实例(四) servlet的生命周期(五) 一个简单的用户登录系统 韩顺平 j2ee视频实战教程servlet第2讲(下集).wmv 视频描述-) servlet体系结构的介绍(二) servlet的网络拓扑结构(三) servlet的几个实例(四) servlet的生命周期(五) 一个简单的用户登录系统 韩顺平 j2ee视频实战教程servlet第3讲(上集).wmv 1.同一用户的不同页面数据共享1.1 cookie技术1.2 sendRedirect()转向1.3 隐藏表单1.4 session技术 韩顺平 j2ee视频实战教程servlet第3讲(中集).wmv 视频描述:1.同一用户的不同页面数据共享 1.1 cookie技术 1.2 sendRedirect()转向 1.3 隐藏表单 1.4 session技术 2.servlet中如何操作数据库 韩顺平 j2ee视频实战教程servlet第3讲(下集).wmv 视频描述 : 1.同一用户的不同页面数据共享 1.1 cookie技术 1.2 sendRedirect()转向 1.3 隐藏表单 1.4 session技术 韩顺平 j2ee视频实战教程servlet第4讲.wmv 视频描述: 1 如何在servlet中显示图片 2 分页技术详解 3 用户登录系统功能改进 韩顺平 j2ee视频实战教程servlet第5讲(上集).wmv 视频描述: (一) Cookie的讲解和使用 (二) Cookie和Session的比较 (三) 网站框架的改进(四) 用户登录系统功能改进 韩顺平 j2ee视频实战教程servlet第5讲(下集).wmv 视频描述: (一) Cookie的讲解和使用 (二) Cookie和Session的比较 (三) 网站框架的改进 (四) 用户登录系统功能改进 韩顺平 j2ee视频实战教程servlet第6讲(上集).wmv 视频描述: (一) ServletContext的讲解和使用 (二) servlet中如何操作文件 (三)增加网站计数器 韩顺平 j2ee视频实战教程servlet第6讲(下集).wmv 视频描述: (一) ServletContext的讲解和使用 (二) servlet中如何操作文件 (三)增加网站计数器 韩顺平 j2ee视频实战教程servlet第7讲(上集).wmv 视频描述: (一)美化管理系统界面,完善页面 这个我们参考.doc文档进行 (二) 管理系统功能改进 增加对用户的查找、增加、删除和修改的功能,这样我们这个用户登录系统就成了一个用户管理系统,而且是完全用servlet实现的. 韩顺平 j2ee视频实战教程servlet第7讲(下集).wmv 视频描述: (一)美化管理系统界面,完善页面 这个我们参考.doc文档进行 (二) 管理系统功能改进 增加对用户的查找、增加、删除和修改的功能,这样我们这个用户登录系统就成了一个用户管理系统,而且是完全用servlet实现的. 韩顺平 j2ee视频实战教程servlet第8讲.wmv 视频描述: tomcat的配置: 1.如何修改tomcat的端口 2.如何设置虚拟目录 3.如何给tomcat的管理员设置密码 4.如何设置数据源和连接池(公司常用!) ************************servlet部分完**************************** 韩顺平 j2ee视频实战教程jsp第1讲(上集).wmv 视频描述: (一) java EE核心十三种技术介绍 (二) java EE程序员修炼成精的法门(卖油翁的故事) (三) jsp版本的用户管理系统演示 (四) jsp的概述(基本语法) (五) jsp的运行原理(还是hello.jsp) (六) jsp版的计算器 6.1 jsp中如何使用js(javascript)和css技术.. 韩顺平 j2ee视频实战教程jsp第1讲(下集).wmv 视频描述: (一) java EE核心十三种技术介绍 (二) java EE程序员修炼成精的法门(卖油翁的故事) (三) jsp版本的用户管理系统演示 (四) jsp的概述(基本语法) (五) jsp的运行原理(还是hello.jsp) (六) jsp版的计算器 6.1 jsp中如何使用js(javascript)和css技术.. 韩顺平 j2ee视频实战教程jsp第2讲(上集).wmv 视频描述: (一) 在同一jsp页面提交和接收数据 (二) eclipse(myeclipse)开发工具 1.0介绍 1.1安装 1.2配置 1.3使用 (三) model1模式 (四) 一个简单的用户登录系统 韩顺平 j2ee视频实战教程jsp第2讲(中集).wmv 视频描述: (一) 在同一jsp页面提交和接收数据 (二) eclipse(myeclipse)开发工具 1.0介绍 1.1安装 1.2配置 1.3使用 (三) model1模式 (四) 一个简单的用户登录系统 韩顺平 j2ee视频实战教程jsp第2讲(下集).wmv 视频描述: (一) 在同一jsp页面提交和接收数据 (二) eclipse(myeclipse)开发工具 1.0介绍 1.1安装 1.2配置 1.3使用 (三) model1模式 (四) 一个简单的用户登录系统 韩顺平 j2ee视频实战教程jsp第3讲(上集).wmv 视频描述: (一) 用户登录系统框架改进 1.0 model1(纯jsp)开发模式的反思 1.1 model1(结合java class)开发模式 (二) 用户登录系统框架再改进 2.1 mvc开发模式 韩顺平 j2ee视频实战教程jsp第3讲(下集).wmv 视频描述: (一) 用户登录系统框架改进 1.0 model1(纯jsp)开发模式的反思 1.1 model1(结合java class)开发模式 (二) 用户登录系统框架再改进 2.1 mvc开发模式 韩顺平 j2ee视频实战教程jsp第4讲.wmv 视频描述: (一)session技术讲解 (二)数据库中的用户名是中文名. 韩顺平 j2ee视频实战教程jsp第5讲(上集).wmv 视频描述: (一)美化管理系统界面,完善页面 这个我们参考.doc文档进行 (二) 管理系统功能改进 增加对用户的查找、增加、删除和修改的功能,这样我们这个用户登录系统就成了一个用户管理系统,并且使用mvc模式开发的。 韩顺平 j2ee视频实战教程jsp第5讲(下集).wmv 视频描述: (一)美化管理系统界面,完善页面 这个我们参考.doc文档进行 (二) 管理系统功能改进 增加对用户的查找、增加、删除和修改的功能,这样我们这个用户登录系统就成了一个用户管理系统,并且使用mvc模式开发的。 韩顺平 j2ee视频实战教程jsp第6讲预告.wmv 视频描述: 1.网上商城(mvc) 1.1购物车、用户注册、登录、验证码 1.2订单管理、后台、动态广告 1.3javamail 1.4javascript 1.5css/ajax 1.6文件上传下载 1.7网页如何布局(table+css)(div+css) 2. 项目分析、数据库设计、界面设计 3. 授课特点(主要使用dreamweaver设计界面) 4. 我的要求 韩顺平 j2ee视频实战教程jsp第6讲(上集).wmv 视频描述: (一) 时尚购物网需求分析(二) 时尚购物网界面设计(三) 时尚购物网数据库初步设计 (四) 涉及到的开发工具和技术 韩顺平 j2ee视频实战教程jsp第6讲(下集).wmv 视频描述: (一) 时尚购物网需求分析(二) 时尚购物网界面设计(三) 时尚购物网数据库初步设计 (四) 涉及到的开发工具和技术 韩顺平 j2ee视频实战教程jsp第7讲(上集).wmv 视频描述: (一) 涉及到的开发工具和技术 (二) 继续开发,完善功能 韩顺平 j2ee视频实战教程jsp第7讲(下集).wmv 视频描述: (一) 涉及到的开发工具和技术 1.div+css 布局 2.table+css 布局 3.混合布局,两种方式合用 (二) 继续开发,完善功能 1.显示货物具体信息 2.jsp中如何使用js的技术 3.首页面增加分页功能 4.用户登录、注册界面设计 韩顺平 j2ee视频实战教程jsp第8讲(上集).wmv 视频描述: (一)继续开发,完善功能 1.将商品添加到购物车 2.将商品从购物车删除 3.清空购物车 4.修改购买商品的数量/计算总价 5.用户登录 6.显示用户信息【确认订单前】 7.购物流程设计(mvc[界面、控制器、模型]) 韩顺平 j2ee视频实战教程jsp第8讲(下集).wmv 视频描述: (一)继续开发,完善功能 1.将商品添加到购物车 2.将商品从购物车删除 3.清空购物车 4.修改购买商品的数量/计算总价 5.用户登录 6.显示用户信息【确认订单前】 7.购物流程设计(mvc[界面、控制器、模型]) 韩顺平 j2ee视频实战教程jsp第9讲(上集).wmv 视频描述: (一)继续开发,完善功能 1.用户登录功能实现 2.显示用户联系方式、订单情况 3.订单表的设计/订单的生成 4.发送电子邮件(javamail)到用户的信箱 5.购物流程设计(mvc[界面、控制器、模型]) (二)待完成的功能 1.后台商品管理 2.后台用户管理 3.用户注册功能 4.网站公告管理 5.网站最受用户欢迎的书籍(动态) 韩顺平 j2ee视频实战教程jsp第9讲(中集).wmv 视频描述: (一)继续开发,完善功能 1.用户登录功能实现 2.显示用户联系方式、订单情况 3.订单表的设计/订单的生成 4.发送电子邮件(javamail)到用户的信箱 5.购物流程设计(mvc[界面、控制器、模型]) (二)待完成的功能 1.后台商品管理 2.后台用户管理 3.用户注册功能 4.网站公告管理 5.网站最受用户欢迎的书籍(动态) 韩顺平 j2ee视频实战教程jsp第9讲(下集).wmv 视频描述: (一)继续开发,完善功能 1.用户登录功能实现 2.显示用户联系方式、订单情况 3.订单表的设计/订单的生成 4.发送电子邮件(javamail)到用户的信箱 5.购物流程设计(mvc[界面、控制器、模型]) (二)待完成的功能 1.后台商品管理 2.后台用户管理 3.用户注册功能 4.网站公告管理 5.网站最受用户欢迎的书籍(动态)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值