亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springmvc 參數綁定總結

發布時間:2020-10-03 02:40:47 來源:腳本之家 閱讀:104 作者:lialzm 欄目:編程語言

最近在學習springmvc,今天把springmvc 參數綁定給整理一下,也算個學習筆記吧!

@RequestParam 綁定單個請求

RequestMapping(value = "/form2")
  @ResponseBody
  public String form2(@RequestParam String name){
    logger.info("name=" + name );
    return "";
  }

@RequestParam 有required(是否必填),defaultValue(默認參數)參數

默認required=true,defaultValue為空

如果name參數不存在則返回400

使用下面這種寫法則required默認為false

 @RequestMapping(value = "/form")
  @ResponseBody
  public String form(String name, Integer age) {
    logger.info("name=" + name + "," + "age=" + age);
    return "";
  }

@RequestParam還支持數組形式

@RequestMapping(value = "/names")
  @ResponseBody
  public String names(@RequestParam String[] name) {
    logger.info("name=" + Arrays.asList(name));
    return Arrays.asList(name).toString();
  }

對應請求/names.do?name=張三,李四

或者/names.do?name=張三&name=李四

@PathVariable 綁定uri變量值

@RequestMapping("/user/{id}")
  @ResponseBody
  public String getUser(@PathVariable Long id) {
    return String.valueOf(id);
  }

請求/user/1返回id為1

@CookieValue 綁定cookie的值

 @RequestMapping("/getCookie")
  @ResponseBody
  public String getCookie(@CookieValue("JSESSIONID") String sessionId) {
    return sessionId;
  }

@ModelAttribute綁定參數到命令對象

1、綁定請求參數到對象

先定義兩個對象
Role

public class Role implements Serializable {

  private String id;
}

User

public class User implements Serializable {

  private String id;

  private Role role;
}
@RequestMapping("/getUserByModel")
  @ResponseBody
  public String getUserByModel(@ModelAttribute("user") User user) {
    logger.info(user.toString());
    return "";
  }

對應請求/getUserByModel.do?id=123&role.id=1

暴露表單引用對象為模型數據

 @ModelAttribute("user")
  public User getUser(String userId) {
    User user = new User();
    user.setId("11");
    Role role=new Role();
    role.setId("123");
    user.setRole(role);
    return user;
  }

 
   @RequestMapping("/getUserModel")
  @ResponseBody
  public String getUserModel(@ModelAttribute User user) {
    return user.toString();
  }

請求/getUserModel?id=1

返回 User{id='1', role=Role{id='123'}}

使用@ModelAttribute注釋的方法會在所有Controller方法前運行

因為先運行了@ModelAttribute注解的方法,生成了一個user對象,之后user對象的id屬性被修改為1

@SessionAttributes綁定命令對象到session

springmvc提供了@SessionAttributes用來對會話數據的存取

添加session

 @RequestMapping("/setSession")
  @ResponseBody
  public String setSession(
      HttpSession session) {
    City city = new City();
    city.setCityName("shanghai");
    session.setAttribute("city", city);
    return city.toString();
  }

獲取session數據

//在類頭部添加需要的session屬性
@Controller
@SessionAttributes(value = {"city"})
public class TestController {
 @RequestMapping("/getSession")
  @ResponseBody
  public String getSession(@ModelAttribute City city) {
    return city.toString();
  }
}

清除本次會話session

 @RequestMapping("/clearSession")
  @ResponseBody
  public String clearSession(SessionStatus status) {
    status.setComplete();
    return "success";
  }

@RequestBody綁定請求的內容區數據并能進行自動類型轉換等

使用RequestBody可以將json轉化為對象

 @RequestMapping("/getUserByJson")
  @ResponseBody
  public String getUserByJson(@RequestBody User user){
    return user.toString();
  }

發送json格式報文

{
  "id":"123"
}

返回結果User{id='123', role=null}

@RequestPart綁定“multipart/data”數據

 @RequestMapping("/getFile")
  @ResponseBody
  public String getFile(@RequestPart("image") MultipartFile file){
    System.out.println(file.getName()+","+file.getSize());
    return "success";
  }

源碼地址springmvcLearn_jb51.rar

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铜山县| 聂拉木县| 延津县| 昌吉市| 西宁市| 资兴市| 莱州市| 哈密市| 通州市| 天峨县| 萨迦县| 滦平县| 睢宁县| 南靖县| 古蔺县| 武隆县| 渝北区| 宾阳县| 湘乡市| 新宁县| 东乡县| 安义县| 乌兰浩特市| 耒阳市| 双鸭山市| 出国| 镇平县| 平湖市| 庆城县| 神农架林区| 乐清市| 武安市| 保山市| 承德市| 长沙县| 苗栗县| 柘城县| 武胜县| 临西县| 西乌珠穆沁旗| 石景山区|