MVC框架是什么
模型-視圖-控制器(MVC)是一個眾所周知的以設計界面應用程序為基礎的設計模式。它主要通過分離模型、視圖及控制器在應用程序中的角色將業務邏輯從界面中解耦。通常,模型負責封裝應用程序數據在視圖層展示。視圖僅僅只是展示這些數據,不包含任何業務邏輯。控制器負責接收來自用戶的請求,並調用后台服務(manager或者dao)來處理業務邏輯。處理后,后台業務層可能會返回了一些數據在視圖層展示。控制器收集這些數據及准備模型在視圖層展示。MVC模式的核心思想是將業務邏輯從界面中分離出來,允許它們單獨改變而不會相互影響。
Contrller控制器層的三種寫法
package com.platform.mvc.system.layer.controller.test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.catalina.connector.Request; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping("/user") public class userCtroller { //方式一:String @RequestMapping("test") public String list(Map<String, Object> map){ ////創建一個數組對象 List<Map<String, Object>> userList = new ArrayList<Map<String, Object>>(); for (int i = 0; i <10; i++) { //存儲對象map<K, V> Map<String, Object> map1 = new HashMap<String, Object>(); map.put("name", "HelloKitty"+i); map.put("age", i); map.put("dept", "技術部"+i); //將map對象存儲在userList數組中 userList.add(map); } //[{age=Avenstar4, name=Avenstar4}] map.put("elList", userList); //返回視圖 return "system/userList"; } //方式二:ModelAndView @RequestMapping(value="test2", method=RequestMethod.GET) public ModelAndView list2(Model model){ //創建一個視圖對象 ModelAndView view = new ModelAndView(); //創建一個數組對象 List<Map<String, Object>> userList = new ArrayList<Map<String, Object>>(); for (int i = 0; i < 5; i++) { //存儲對象map<K, V> Map<String, Object> map = new HashMap<String, Object>(); map.put("name", "HelloKitty"+i); map.put("age", i); map.put("dept", "技術部"+i); userList.add(map); } //綁定數據 model.addAttribute("userList", userList); //設置視圖 view.setViewName("system/userList"); return view; } //方式三:AJAX //接收參數:@RequestParam(value="username", required=true, defaultValue="hello") String username @RequestMapping(value="/test3", method=RequestMethod.POST) @ResponseBody public Map<String, Object> list3(HttpServletRequest request, @RequestParam(value="username", required=true, defaultValue="hello") String username){ Map<String, Object> map = new HashMap<>(); //創建一個數組對象 List<Map<String, Object>> userList = new ArrayList<Map<String, Object>>(); for (int i = 0; i < 5; i++) { //存儲對象map<K, V> Map<String, Object> map1 = new HashMap<String, Object>(); map1.put("name", "HelloKitty"+i); map1.put("age", i); map1.put("dept", "技術部"+i); userList.add(map1); } map.put("userList", userList); return map; } }
【資料參考】 http://jinnianshilongnian.iteye.com/blog/1705701
http://www.importnew.com/15141.html