標籤:
如標題,就是我要說的,至於好不好用,只有看了才知道
在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 }View Code
情境二:使用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 }View Code
情境三:使用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 }View Code
對於稍微複雜的構造,後續再做筆記
Java中的容器的簡單運用