SpringMVC向JSP传递数据实战教程

需积分: 10 20 下载量 173 浏览量 更新于2024-09-09 收藏 855B TXT 举报
"这篇资料主要讲述了如何在SpringMVC框架中向JSP页面传递数据,通过具体的示例来展示操作过程。" 在SpringMVC框架中,向JSP页面传递数据是常见的需求,通常用于展示从后端处理的业务结果。下面我们将详细探讨这个过程。 1. JSP 1.2 和 EL(Expression Language) 在JSP 1.2版本中,如果要使用EL表达式来获取后台传递的数据,需要在`web.xml`配置文件中设置`isELIgnored`属性为`false`,以便启用EL。此外,还需要引入JSTL库,通过`<%@taglib>`指令引入`http://java.sun.com/jsp/jstl/core`的标签库。在JSP页面中,你可以使用`${msg}`这样的EL表达式来显示从控制器传递过来的数据。 ```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> ``` ```jsp <%@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 和 EL 改进 JSP 2.0版本对EL进行了增强,使其成为标准特性,无需额外配置即可使用。在`web.xml`中,你可以看到版本号设置为2.4,这代表了支持JSP 2.0的配置。此时,JSP页面可以直接使用EL表达式而不需要显式开启。 ```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> ``` ```jsp <html> <head> </head> <body> ${msg} </body> </html> ``` 在SpringMVC中,通常通过模型映射(ModelMap或ModelAndView)将数据从控制器传递到视图。以下是一个简单的示例: ```java @Controller public class MyController { @RequestMapping("/someAction") public ModelAndView handleRequest() { ModelAndView modelAndView = new ModelAndView("myPage"); modelAndView.addObject("msg", "Hello, SpringMVC!"); return modelAndView; } } ``` 在这个例子中,`handleRequest`方法创建了一个`ModelAndView`对象,设置了视图名称("myPage",对应JSP页面的名称)并添加了一个名为`msg`的对象。这个`msg`对象会在JSP页面中通过EL表达式 `${msg}` 显示出来。 总结: - SpringMVC中向JSP页面传递数据主要通过模型映射实现。 - JSP 1.2需要启用EL并引入JSTL库,而JSP 2.0则内置了EL支持。 - 在`web.xml`中正确配置Servlet容器以支持相应的JSP版本。 - 在JSP页面中使用EL表达式来访问和显示从控制器传递的数据。