使用spring mvc前台获取后台返回的List
2016-06-07 22:27
489 查看
在web的开发中,我们经常会用到在欢迎页面加载的同时,也会查询后台的数据将其显示在页面上,这里有一个办法我们可以尝试一下。
假如我想在一进入欢迎页面的时候就显示后台数据库中事先存放好的数据,那么我们可以这样做:
将action写在web.xml中:
这里不要直接写欢迎页面,而将其移至控制器的返回值中。
在控制器中添加action对应的方法:
说明:注解@SessionAttributes("catesArray")是为了将catesArray这个list放入session中,以便在其他任何页面中可以随时访问这个list,这个session的生命周期可以根据需要自己设置。
接下来就是在页面中遍历这个list了:
说明:使用${}获取变量时,如果不指定作用域,就会默认在Page范围中找,如果找不到,再依次从Request、Session、Application范围中找,如果全部没找到,就会返回null,页面不显示任何东西。
假如我想在一进入欢迎页面的时候就显示后台数据库中事先存放好的数据,那么我们可以这样做:
将action写在web.xml中:
<welcome-file-list> <welcome-file>/categories/queryCates.do</welcome-file> </welcome-file-list>
这里不要直接写欢迎页面,而将其移至控制器的返回值中。
在控制器中添加action对应的方法:
package com.pro.controller; import com.pro.pojo.Category; import com.pro.service.ICategoryService; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.SessionAttributes; @Controller @RequestMapping("/categories") @SessionAttributes("catesArray") public class CategoryController { @Resource private ICategoryService cateService; @RequestMapping("/queryCates") public String queryCatesIndex(HttpServletRequest req,HttpServletResponse rep,ModelMap model){ List<Category> catesArray = this.cateService.getAllCategories(); model.addAttribute("catesArray",catesArray); if(model.containsAttribute("catesArray")){ return "index"; } return "error"; } }
说明:注解@SessionAttributes("catesArray")是为了将catesArray这个list放入session中,以便在其他任何页面中可以随时访问这个list,这个session的生命周期可以根据需要自己设置。
接下来就是在页面中遍历这个list了:
<c:forEach items="${sessionScope.catesArray}" var="cates"> <li class="subMenu open"><a class="FirstMenu">${cates.cateName}</a> <ul> <li><a class="active" href="products.jsp"><i class="icon-chevron-right"></i></a></li> <li><a href="products.jsp"><i class="icon-chevron-right"></i>Computers, Tablets & laptop (30)</a></li> <li><a href="products.jsp"><i class="icon-chevron-right"></i>Mobile Phone (80)</a></li> <li><a href="products.jsp"><i class="icon-chevron-right"></i>Sound & Vision (15)</a></li> </ul> </li> </c:forEach>
说明:使用${}获取变量时,如果不指定作用域,就会默认在Page范围中找,如果找不到,再依次从Request、Session、Application范围中找,如果全部没找到,就会返回null,页面不显示任何东西。
属性范围(jstl名称) | EL中的名称 |
Page | PageScope |
Request | RequestScope |
Session | SessionScope |
Application | ApplicationScope |
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- C# MVC模式下商品抽奖功能实现
- Zend的MVC机制使用分析(二)
- ASP.NET MVC 4 捆绑和缩小实例介绍
- ASP.NET Mvc开发之查询数据
- ASP.NET MVC中将控制器分离到类库的实现
- asp.net实现在非MVC中使用Razor模板引擎的方法
- ASP.NET MVC中的AJAX应用
- 为ASP.NET MVC及WebApi添加路由优先级
- ASP.NET MVC中图表控件的使用方法
- Asp.net mvc实时生成缩率图到硬盘