SpringMVC的Contrller控制器層的三種寫法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM