SpringMVC 的Model值传到JSP页面中,用EL表达试取不到值


Controller 中返回ModelAndView,

@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ArrayList<Items> itemsList=new ArrayList<Items>();
Items items_1 = new Items();
items_1.setName("联想笔记本");
items_1.setPrice(6000f);
items_1.setDetail("ThinkPad T430 联想笔记本电脑!");

Items items_2 = new Items();
items_2.setName("苹果手机");
items_2.setPrice(5000f);
items_2.setDetail("iphone6苹果手机!");

itemsList.add(items_1);
itemsList.add(items_2);

ModelAndView mav=new ModelAndView();
mav.addObject("itemsList", itemsList);
mav.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
return mav;
}

JSP中通过EL表的试取值

<c:forEach items="${itemsList}" var="a">
<tr>
<td>${a.name }</td>
<td>${a.price }</td>
<td>${a.detail}</td>
<td><a href="${pageContext.request.contextPath }/item/editItem.action?id=${a.id}">修改</a></td>
</tr>
</c:forEach>

在页面显示${a.name}


解决方案

在jsp文件头

<%@ page isELIgnored="false" %>

Spring MVCJSP页面是作为视图层来展示数据的。JSP页面依赖于以下几个方面: 1. 控制器(Controller):控制器负责处理用户请求并返回相应的数据和视图。在Spring MVC,控制器使用注解或配置文件来映射请求URL,并将数据存储在ModelAndView对象,然后将其传递给视图层。 2. 模型(Model):模型是用于存储数据的对象。在Spring MVC,模型可以是一个POJO(Plain Old Java Object)或一个JavaBean。控制器将数据存储在模型,并将其传递给视图层。 3. 视图解析器(View Resolver):视图解析器负责将逻辑视图名称解析为实际的视图对象。在Spring MVC,视图解析器可以将JSP页面的逻辑视图名称解析为实际的JSP页面。 4. JSP页面JSP页面是用于展示数据的视图。在JSP页面,可以使用EL表达式或JSTL标签来获取和展示模型数据。 下面是一个简单的示例,演示了Spring MVCJSP页面的依赖关系: 1. 控制器设置模型数据: ```java @Controller public class MyController { @RequestMapping("/hello") public ModelAndView hello() { ModelAndView modelAndView = new ModelAndView("hello"); // 设置逻辑视图名称为"hello" modelAndView.addObject("message", "Hello, Spring MVC!"); // 将数据存储在模型 return modelAndView; } } ``` 2. 视图解析器配置: ```xml <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <!-- JSP页面所在的目录 --> <property name="suffix" value=".jsp"/> <!-- JSP页面的后缀 --> </bean> ``` 3. JSP页面获取并展示模型数据: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <!DOCTYPE html> <html> <head> <title>Hello</title> </head> <body> <h1>${message}</h1> <!-- 使用EL表达式获取模型数据 --> </body> </html> ``` 通过以上配置和代码,当用户访问"/hello"时,控制器将数据存储在模型,并将逻辑视图名称设置为"hello"。视图解析器将"hello"解析为实际的JSP页面,并将模型数据传递给JSP页面。在JSP页面,使用EL表达式"${message}"获取并展示模型数据
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值