如标题,就是我要说的,至于好不好用,只有看了才知道
在JavaWeb中,使用最多的容器莫过于List,Map,所以本文只围绕这两个容器的运用进行说明,那么这两个容器又衍生了常用的ArrayList,HashMap,List<Map<String,Object>>
对于List
情境一:出现在使用纯jsp编写的项目中
此时它会直接在页面使用,比如我们在数据库中取数据时,我们通常会取出数据库的数据,然后构造成List以便于页面取值显示。
1 ResultSet rs = null; 2 String sql = "select * from newscategory"; 3 pstmt = conn.prepareStatement(sql); 4 rs = pstmt.executeQuery(); 5 List list = new ArrayList(); 6 while(rs.next()){ 7 NewsCategory category = new NewsCategory(); 8 category.setId(rs.getInt("id")); 9 category.setNewscategory(rs.getString("newscategory")); 10 category.setParentid(rs.getInt("parentid")); 11 list.add(category); 12 }
情境二:使用servlet+jsp的MVC实现时出现在dao实现中,则是一个返回list的方法,供servlet调用
1 public List getCategoryList() throws SQLException{ 2 ResultSet rs = null; 3 String sql = "select * from newscategory"; 4 pstmt = conn.prepareStatement(sql); 5 rs = pstmt.executeQuery(); 6 List list = new ArrayList(); 7 while(rs.next()){ 8 NewsCategory category = new NewsCategory(); 9 category.setId(rs.getInt("id")); 10 category.setNewscategory(rs.getString("newscategory")); 11 category.setParentid(rs.getInt("parentid")); 12 list.add(category); 13 } 14 return list; 15 }
情境三:使用SSH,SSI框架编写则直接使用框架里的方法实现
对于Map:
通常用于servlet处理完请求后响应的状态码,以及提示的信息
1 @ResponseBody 2 @RequestMapping(value={"ajaxUpdateAddress"},method=RequestMethod.POST) 3 public Map<String,Object> ajaxUpdateAddress(HttpServletRequest request,Model model,Address address){ 4 5 Map<String,Object> map = new HashMap<String,Object>(); 6 map.put("status", 300); 7 map.put("success", false); 8 map.put("message", "操作失败"); 9 try { 10 address.setMemberId(member.getId()); 11 addressService.updateAddress(address); 12 map.put("status", 200); 13 map.put("success", true); 14 map.put("message", "操作成功"); 15 } catch (Exception e) { 16 log.error("修改地址失败", e); 17 } 18 19 return map; 20 21 }
对于稍微复杂的构造,后续再做笔记
时间: 2024-10-12 17:05:10