3.springMVC參數綁定過程(頁面向后台傳參)


視頻教程地址:http://edu.51cto.com/sd/2cfc2

所謂的參數綁定過程,就是頁面向后台傳遞參數,后台接收參數的一個過程,那么總結在springMVC中參數綁定的過程,大致可以分為以下幾種:

  1.默認支持的參數類型(就是你在方法上以形參的形式定義,就可以直接使用的),主要有以下幾個

    HttpSession

    HttpServletRequest

    HttpServletResponse

    Model/ModelMap

  相信前面幾個大家並不陌生,和servlet的使用是一樣的,至於Model和ModelMap是把數據放到request作用域的,這里也許你會覺得奇怪,這些東西和你接收頁面參數並沒有什么關系,是的,這些主要是哪里獲取session,傳遞參數,跳轉頁面,攜帶數據相關的幾個默認類型,和接收參數並沒有太大關系,但是需要了解,以后會用到,使用方法如下:

    @RequestMapping(value="/session_demo")
    public String session_demo(HttpSession session,Model model)  {
        session.getAttribute("");//獲取session
        session.setAttribute("", "");//設置session
        model.addAttribute("", "");//把數據放到request作用域中
        return "hello";
    }

舉一個例子,其他的使用類似,其中("","")括號中的第一個" "表示名字,第二個" "表示值。

  2.基本類型的綁定(基本類型就是指:int,String......這些),對於基本類型,只要你定義的名字和頁面的name屬性一致,就會自動接收頁面文本框的值

  Controller代碼:

 
         
@RequestMapping(value="/test_user")
public String test_user(int sid,String name){
        //int sid等價於 request.getpa...("");
        System.out.println(sid+"="+name);
        return "hello";
    }

  頁面代碼:

  <form action="test_user" method="post"><!--其中action提交的就是你的@RequestMapping中的value的值 -->
        <input name="sid" ></br>
        <input name="name" ></br>
        <input type="submit" value="提交"></br>
    </form>

  3.綁定實體類(只要你的實體類屬性和頁面的name屬性一致就會自動接收),並且實體類的綁定,和基本類型的綁定不相互影響,可以同時使用

  實體類:get,set和構造函數方法(全構造,和空的構造最好都生成)一定要有 

    private int sid;
    private String name;
    private String sex;
    private String hobbies;        

  頁面:

  接下的幾種綁定,我把大概的寫法給大家,就不列舉的那么詳細了

  4.包裝的實體類綁定(就是實體類中放着另外的實體類)

    使用情況:當頁面的查詢條件比較復雜的時候,並且設計到多個數據庫的表,這個時候我們可以把這些查詢條件單獨封裝成一個類,或者用包裝一個查詢類,里面放着實體類。

    包裝的查詢類:   

public class QueryItems {
    private Student student;
    private BanJ banj;
    private List<Student>list;
    }

    Controller寫法:

@RequestMapping(value = "/test_items")
    public String queryitems(QueryItems items){
       System.out.printIn(items.getStudent());return "hello";
    }

    頁面寫法:(name屬性是你包裝類的對象名+屬性名)

  5.集合類型的綁定(不詳細的寫了有需要可留言)

    數組類型的綁定:利用復選框把id傳過去,Controller定義名字相同的數組獲取即可

    應用場景:批量刪除

 

    list類型的綁定:這個的寫法和包裝的實體類有點類似,不同的是頁面的寫法有很大的區別,把頁面的寫法給大家

    頁面:

    

    應用場景:批量修改

    map類型的綁定:類似list

  

   

  

  

  


免責聲明!

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



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