SpringMVC之Controller接收用户传过来的各种形式的数据

  1. 普通?带值
  2. 普通?带值 自动封装到Bean
  3. 封装Bean 中 Bean
  4. list数据封装
  5. map数据封装
  6. 多选数据封装
  7.  @RequestParam  参数绑定
          required 是否可以没有此属性
          defaultValue 设定默认值
  8. @ModelAttribute 只要我在,请求进入本类的任何方法上之前,先运行我
package com.qy.controller;

import com.qy.bean.Book;
import com.qy.bean.Book2;
import com.qy.bean.Book3;
import com.qy.bean.Person;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * controller接受用户传输的各种形式的数据
 */
@Controller
public class DataController {

    /**
     * http://localhost:8080/demo2001?name=1&password=2
     */
    @RequestMapping("demo2001")
    public String demo2001(String name,String password){
        System.out.println("----demo2001----");
        System.out.println(" name = "+name);
        System.out.println(" password = "+password);
        return null ;
    }

    @RequestMapping("demo2002")
    public String demo2002(Person person){
        System.out.println(person);
        return null ;
    }

    /**
     <form   action="${pageContext.request.contextPath}/demo2003" method="get">
         name:<input type="text" name="name"><br>
         price:<input type="text" name="price"><br>
         p name: <input type="text" name="person.name"><br>
         p password: <input type="text" name="person.password"><br>
         <input type="submit" value="提交"><br>
     </form>
     */
    @RequestMapping("demo2003")
    public String demo2003(Book book) {
        System.out.println(" demo2003 = " + book);
        System.out.println(book.getPerson());
        return null;
    }

    /**
    List集合类型数据封装:
    <form   action="${pageContext.request.contextPath}/demo2004" method="get">
        no 1 object name :<input type="text" name="listPerson[0].name"><br>
        no 1 object password : <input type="text" name="listPerson[0].password"><br>
        <h1>------------------------------</h1>
        no 2 object name :<input type="text" name="listPerson[1].name"><br>
        no 2 object password : <input type="text" name="listPerson[1].password"><br>
        <input type="submit" value="提交"><br>
    </form>
     */
    @RequestMapping("demo2004")
    public String demo2004(Book2 book2) {
        System.out.println(" demo2004 = " + book2.getListPerson());
        return null;
    }

    /**
     Map集合类型数据封装:
     <form   action="${pageContext.request.contextPath}/demo2005" method="get">
         no 1 object name :<input type="text" name="personMap[p1].name"><br>
         no 1 object password : <input type="text" name="personMap[p1].password"><br>
         <h1>------------------------------</h1>
         no 2 object name :<input type="text" name="personMap[p2].name"><br>
         no 2 object password : <input type="text" name="personMap[p2].password"><br>
         <input type="submit" value="提交"><br>
     </form>
     */
    @RequestMapping("demo2005")
    public String demo2005(Book3 book3) {
        System.out.println(" demo2005 = " + book3.getPersonMap());
        return null;
    }

    /** http://localhost:8080/demo2006?name=1&id=
     * @RequestParam  参数绑定
     *      required 是否可以没有此属性
     *      defaultValue 设定默认值
     */
    @RequestMapping("demo2006")
    public String demo2006(@RequestParam(required = true, defaultValue = "99") Integer id, String name) {
        System.out.println(" demo2006 " + id);
        return null;
    }


    /**
     封装 集合(多选)数据 radio
     <form action="${pageContext.request.contextPath}/demo2007" method="get">
         <input type="checkbox" value="15" name="id" />阅读
         <input type="checkbox" value="20" name="id" />上网
         <input type="checkbox" value="73" name="id" />电游
         <button>提交</button>
     </form>
     */
    @RequestMapping("demo2007")
    public String demo2007(@RequestParam("id") List<Integer> hobbyids) {
        System.out.println(" demo2007 "+ hobbyids);
        return null;
    }

    /**
     * @ModelAttribute 只要我在,请求进入本类的任何方法上之前,先运行我
     */
    @ModelAttribute
    public String show(){
        System.out.println("痴痴的想了很久,爱上你的理由,伤心的泪");
        return null;
    }

}

猜你喜欢

转载自blog.csdn.net/weixin_37906108/article/details/92800555