最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springmvc 參數(shù)綁定總結(jié)

 更新時間:2017年03月23日 14:18:08   作者:lialzm  
本篇文章主要介紹了詳解springmvc 參數(shù)綁定,詳細的介紹了springmvc各種參數(shù)綁定的情況,具有一定的參考價值,有興趣的可以了解一下。

最近在學(xué)習(xí)springmvc,今天把springmvc 參數(shù)綁定給整理一下,也算個學(xué)習(xí)筆記吧!

@RequestParam 綁定單個請求

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

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

默認required=true,defaultValue為空

如果name參數(shù)不存在則返回400

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

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

@RequestParam還支持?jǐn)?shù)組形式

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

對應(yīng)請求/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綁定參數(shù)到命令對象

1、綁定請求參數(shù)到對象

先定義兩個對象
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 "";
  }

對應(yīng)請求/getUserByModel.do?id=123&role.id=1

暴露表單引用對象為模型數(shù)據(jù)

 @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用來對會話數(shù)據(jù)的存取

添加session

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

獲取session數(shù)據(jù)

//在類頭部添加需要的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綁定請求的內(nèi)容區(qū)數(shù)據(jù)并能進行自動類型轉(zhuǎn)換等

使用RequestBody可以將json轉(zhuǎn)化為對象

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

發(fā)送json格式報文

{
  "id":"123"
}

返回結(jié)果User{id='123', role=null}

@RequestPart綁定“multipart/data”數(shù)據(jù)

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

源碼地址springmvcLearn_jb51.rar

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 單例模式 分析代碼優(yōu)化方法

    單例模式 分析代碼優(yōu)化方法

    這篇文章主要介紹了單例模式 分析代碼優(yōu)化方法,需要的朋友可以參考下
    2015-04-04
  • Java獲取配置文件的值過程解析

    Java獲取配置文件的值過程解析

    這篇文章主要介紹了java獲取配置文件的值過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • springbean的八種加載方式匯總

    springbean的八種加載方式匯總

    這篇文章主要介紹了springbean的八種加載方式,一種是XML方式聲明bean,使用@Component及其衍生注解@Controller?、@Service、@Repository定義bean,還有其他方法,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • Spring Security的過濾器鏈機制

    Spring Security的過濾器鏈機制

    過濾器作為 ?Spring Security? 的重中之重,我們需要了解其中的機制,這樣我們才能根據(jù)業(yè)務(wù)需求的變化進行定制,今天來探討一下 ?Spring Security? 中的過濾器鏈機制
    2022-08-08
  • java字符串中提取數(shù)字的方法

    java字符串中提取數(shù)字的方法

    Java中提取字符串中的數(shù)字,可以使用正則表達式或非正則表達式的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-06-06
  • Java訪問修飾符public、private、protected及默認訪問權(quán)限詳解

    Java訪問修飾符public、private、protected及默認訪問權(quán)限詳解

    這篇文章主要介紹了Java訪問修飾符public、private、protected及默認訪問權(quán)限的相關(guān)資料,每種修飾符都有其特定的使用場景,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-01-01
  • 使用maven生成可執(zhí)行的jar包的方法

    使用maven生成可執(zhí)行的jar包的方法

    這篇文章主要介紹了使用maven生成可執(zhí)行的jar包的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 快速解決springboot在yml配置了啟動端口但啟動還是8080問題

    快速解決springboot在yml配置了啟動端口但啟動還是8080問題

    這篇文章主要介紹了快速解決springboot在yml配置了啟動端口但啟動還是8080問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • AsyncHttpClient exception異常源碼流程解析

    AsyncHttpClient exception異常源碼流程解析

    這篇文章主要為大家介紹了AsyncHttpClient的exception源碼流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • springboot如何通過URL方式訪問外部資源

    springboot如何通過URL方式訪問外部資源

    這篇文章主要介紹了springboot如何通過URL方式訪問外部資源,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論

南丰县| 嫩江县| 台南县| 泸西县| 桦南县| 宜春市| 府谷县| 磴口县| 仪征市| 东源县| 镇原县| 边坝县| 建瓯市| 辉县市| 宁陵县| 华蓥市| 东方市| 香格里拉县| 保山市| 库尔勒市| 武义县| 靖西县| 峨眉山市| 定边县| 四会市| 佛冈县| 张家港市| 舞钢市| 海安县| 东光县| 手游| 乐亭县| 竹北市| 隆昌县| 镇赉县| 东宁县| 长顺县| 汤阴县| 岳普湖县| 江安县| 左云县|