国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

3.5 Spring MVC參數(shù)傳遞

這篇具有很好參考價(jià)值的文章主要介紹了3.5 Spring MVC參數(shù)傳遞。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Spring MVC的Controller接收請求參數(shù)的方式有多種,本節(jié)主要介紹Spring MVC下的HttpServletRequest、基本數(shù)據(jù)類型、Java Bean、數(shù)組、List、Map、JSON參數(shù)傳遞方式,同時(shí)解決POST請求中文亂碼問題。

1. HttpServletRequest參數(shù)傳遞

@Controller
@RequestMapping("/param")
public class ParamController {
    /**
     *  通過HttpServletRequest接收參數(shù)
     */
    @RequestMapping("/servlet")
    public void servlet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String name = request.getParameter("name");
        System.out.println("name=" + name);
        PrintWriter writer = response.getWriter();
        writer.print("hello " + name);
        writer.flush();
        writer.close();
    }
}

2. 基本數(shù)據(jù)類型參數(shù)傳遞

基本數(shù)據(jù)類型以及他們的包裝類。

@Controller
@RequestMapping("/param")
public class ParamController {
    /**
     * 使用基本數(shù)據(jù)類型和String類型
     */
    @RequestMapping("/simple")
    @ResponseBody
    public String simple(int id, String name) throws IOException {
        String str = "id = " + id + ",name = " + name;
        System.out.println(str);
        return str;
    }
}

3. Java Bean參數(shù)傳遞

@Controller
@RequestMapping("/param")
public class ParamController {
    /**
     * JavaBean傳遞參數(shù)
     */
    @RequestMapping(value = "/bean",
            produces = "text/plain;charset=UTF-8",
            method = RequestMethod.POST)
    @ResponseBody
    public String paramBean(Student student){
        System.out.println(student);
        return student.toString();
    }
}

4. 數(shù)組參數(shù)傳遞

@Controller
@RequestMapping("/param")
public class ParamController {
    /**
     * 數(shù)組參數(shù)
     */
@RequestMapping(value = "/array",method = RequestMethod.POST)
@ResponseBody
public String array(String[] hobbies){
    for(String hobby : hobbies){
         System.out.println(hobby);
    }
    return "success";
}
}

5. List參數(shù)傳遞

@Controller
@RequestMapping("/param")
public class ParamController {
    /**
     * List參數(shù)
     */
@RequestMapping(value = "/list",method = RequestMethod.POST)
@ResponseBody
public String list(@RequestParam List<String> hobbyList){
    hobbyList.forEach(hobby -> System.out.println(hobby));
    return "success";
}
}

6. Map參數(shù)傳遞

@Controller
@RequestMapping("/param")
public class ParamController {
    /**
     * Map參數(shù)
     */
@RequestMapping(value = "/map",method = RequestMethod.POST)
@ResponseBody
public String map(@RequestParam Map<String,Object> map){
    System.out.println(map);
    return "success";
}
}

7. JSON參數(shù)傳遞

JSON格式采用鍵值對的方式來表示數(shù)據(jù),由花括號 {} 包含對象,由方括號 [] 包含數(shù)組,可通過JSON在線解析工具進(jìn)行校驗(yàn)/格式化,具體格式如下:

  • 對象

對象是一個(gè)無序的鍵/值對集合,每個(gè)鍵后面需要添加一個(gè)冒號(:),鍵/值對之間使用逗號(,)分隔。

{
    "id": "1",
    "name": "zhangsan",
    "age":20
}
  • 數(shù)組

數(shù)組可以包含多個(gè)元素,每個(gè)元素之間使用逗號(,)分隔,可以包含簡單值、對象或者其他數(shù)組。

[
    {
    "id": "1",
    "name": "zhangsan"
    },
    {
    "id": "2",
    "name": "zhangsan"
    }
]

Spring MVC可以使用Jackson框架作為JSON的轉(zhuǎn)換器。

通過@RequestBody可以將前端的JSON參數(shù)轉(zhuǎn)成Java Bean、Map、List等引用類型。

通過@ResponseBody可以將后端的Java Bean、Map、List等引用類型轉(zhuǎn)成JSON結(jié)果輸出。

使用Jackson時(shí)需要三個(gè)jar包jackson-databind.jar、jackson-core.jar、jackson-annotations.jar。如果Spring MVC創(chuàng)建的是Maven項(xiàng)目,僅需要依賴jackson-databind,因?yàn)樗鼈鬟f依賴了jackson-core和jackson-annotations。

@Controller
@RequestMapping("/json")
public class JsonController {
    /**
     * json bean
     */
    @RequestMapping(value = "/bean",method = RequestMethod.POST)
    @ResponseBody
    public Object bean(@RequestBody Student student){
        System.out.println(student);
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("code",200);
        map.put("msg","success");
        map.put("data",student.toString());
        return map;
    }
    /**
     * json map
     */
    @RequestMapping(value = "/map",method = RequestMethod.POST)
    @ResponseBody
    public Object map(@RequestBody Map<String,Object> jsonMap){
        System.out.println(jsonMap);
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("code",200);
        map.put("msg","success");
        map.put("data",jsonMap);
        return map;
    }
    /**
     * json list
     */
    @RequestMapping("/list")
    @ResponseBody
    public Object list(@RequestBody List<Student> studentList){
        System.out.println(studentList);
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("code",200);
        map.put("msg","success");
        map.put("data",studentList);
        return map;
    }
}

8. Spring MVC解決POST請求中文亂碼問題

Spring提供了CharacterEncodingFilter解決POST請求中的中文亂碼問題,在web.xml中配置CharacterEncodingFilter。

<web-app>
  <!--解決POST中文亂碼問題 過濾器-->
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

9. Spring MVC參數(shù)傳遞案例

基于Spring MVC實(shí)現(xiàn)HttpServletRequest、基本數(shù)據(jù)類型、Java Bean、數(shù)組、List、Map、JSON方式的參數(shù)傳遞。

案例實(shí)現(xiàn)詳見鏈接:案例13 Spring MVC參數(shù)傳遞案例文章來源地址http://www.zghlxwxcb.cn/news/detail-642308.html

到了這里,關(guān)于3.5 Spring MVC參數(shù)傳遞的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 在 Spring MVC 中,用于接收前端傳遞的參數(shù)的注解常用的有以下幾種

    目錄 1、對于json請求體參數(shù), 2、對于路徑傳參 3、對于query傳參 4、對于form-data參數(shù), 總結(jié): ? 1、對于json請求體參數(shù), 請求頭的Content-Type應(yīng)為application/json。在前端,可以使用 data格式 傳參。在后端,可以使用 @RequestBody 注解來接收參數(shù)。 ? 2、對于路徑傳參 (例如:test/

    2024年01月23日
    瀏覽(19)
  • Spring-mvc的參數(shù)傳遞與常用注解的解答及頁面的跳轉(zhuǎn)方式---綜合案例

    Spring-mvc的參數(shù)傳遞與常用注解的解答及頁面的跳轉(zhuǎn)方式---綜合案例

    目錄 一.slf4j--日志 二.常用注解 ??? ? ?2.1.@RequestMapping ??????2.2.@RequestParam ??????2.3.@RequestBody ??????2.4.@PathVariable 三.參數(shù)的傳遞 3.1 基礎(chǔ)類型 3.2 復(fù)雜類型 3.3?@RequestParam 3.4? @PathVariable 3.5 @RequestBody 3.6 增刪改查? 四.返回值? ????????? 4.1 void 返回值? ?4.2 String

    2024年02月09日
    瀏覽(28)
  • 【Java EE】Spring請求如何傳遞參數(shù)詳解

    【Java EE】Spring請求如何傳遞參數(shù)詳解

    訪問不同的路徑,就是發(fā)送不同的請求.在發(fā)送請求時(shí),可能會帶?些參數(shù),所以我們在學(xué)習(xí)Spring的請求時(shí),主要是學(xué)習(xí)如何傳遞參數(shù)到后端以及后端如何接收. 下面博主會對傳遞參數(shù)進(jìn)行一個(gè)詳解,咱們主要是使?瀏覽器和Postman來模擬 當(dāng)我們運(yùn)行后,用瀏覽器進(jìn)行訪問 http://127.0.

    2024年04月12日
    瀏覽(31)
  • Java配置方式使用Spring MVC:實(shí)戰(zhàn)練習(xí)

    Java配置方式使用Spring MVC:實(shí)戰(zhàn)練習(xí)

    承接上文《Java配置方式使用Spring MVC》 登錄頁面 - login.jsp 注:這個(gè)頁面沒有JSP代碼,其實(shí)可以做成靜態(tài)頁面 - login.html 登錄成功頁面 - success.jsp(必須是動態(tài)頁面,因?yàn)橐@取會話對象中的數(shù)據(jù)) 如果不用JSP的標(biāo)簽庫,要獲取會話中的數(shù)據(jù),要復(fù)雜一點(diǎn) 登錄失敗頁面 - failu

    2024年02月05日
    瀏覽(31)
  • Java 新手如何使用Spring MVC 中的查詢字符串和查詢參數(shù)

    Java 新手如何使用Spring MVC 中的查詢字符串和查詢參數(shù)

    目錄 前言? ?什么是查詢字符串和查詢參數(shù)? Spring MVC中的查詢參數(shù)? 處理可選參數(shù) 處理多個(gè)值 處理查詢參數(shù)的默認(rèn)值 處理查詢字符串 示例:創(chuàng)建一個(gè)RESTful服務(wù)? 總結(jié) 作者簡介: ?懶大王敲代碼,計(jì)算機(jī)專業(yè)應(yīng)屆生 今天給大家聊聊Java 新手如何使用Spring MVC 中的查詢字符串

    2024年02月03日
    瀏覽(27)
  • springBoot 配置文件 spring.mvc.throw-exception-if-no-handler-found 參數(shù)的作用

    springBoot 配置文件 spring.mvc.throw-exception-if-no-handler-found 參數(shù)的作用

    在Spring Boot應(yīng)用中,可以通過配置文件來控制當(dāng)找不到請求處理器(handler)時(shí)是否拋出異常。具體的配置參數(shù)是 spring.mvc.throw-exception-if-no-handler-found 。 默認(rèn)情況下,該參數(shù)的值為 false ,即當(dāng)找不到請求處理器時(shí),Spring MVC會返回404 Not Found響應(yīng)。如果將該參數(shù)設(shè)置為 true ,則當(dāng)

    2024年02月12日
    瀏覽(24)
  • Spring MVC學(xué)習(xí)之——數(shù)據(jù)傳遞(在頁面上添加數(shù)據(jù))

    編寫controller 在index.jsp里面定義超鏈接 編寫controller 在index.jsp里面定義超鏈接 編寫controller 在index.jsp里面定義超鏈接

    2024年01月18日
    瀏覽(16)
  • springboot2入門到實(shí)戰(zhàn)-spring緩存

    springboot2入門到實(shí)戰(zhàn)-spring緩存

    啟動緩存@EnableCaching @Cacheable @Cacheable 注解就可以將運(yùn)行結(jié)果緩存,以后查詢相同的數(shù)據(jù),直接從緩存中取,不需要調(diào)用方法。 序列 參數(shù) 解釋 1 cacheNames 指定緩存組件的名字 2 key 緩存數(shù)據(jù)時(shí)使用的key,默認(rèn)使用方法參數(shù) 3 keyGenerator key 的生成器。 key 和 keyGenerator 二選一使用

    2024年02月22日
    瀏覽(24)
  • springboot傳遞List類型參數(shù)報(bào)錯(cuò) No primary or single unique constructor found for interface java.util.List

    springboot傳遞List類型參數(shù)報(bào)錯(cuò) No primary or single unique constructor found for interface java.util.List

    昨天在做畢設(shè)進(jìn)行一對多插入的時(shí)候 出現(xiàn)了500錯(cuò)誤 先看代碼 mapper層代碼 這里我是list集合進(jìn)行一對多插入 控制層 前端 ?頁面展示 然后頁面顯示500錯(cuò)誤 ?查看控制臺 ? 報(bào)錯(cuò):No primary or single unique constructor found for interface java.util.List ?? ?at org.springframework.beans.BeanUtils.getResol

    2024年02月11日
    瀏覽(23)
  • Spring MVC 參數(shù)接收

    Spring MVC 參數(shù)接收

    Springmvc中,接收頁面提交的數(shù)據(jù)是通過方法形參來接收: 處理器適配器調(diào)用springmvc使用反射將前端提交的參數(shù)傳遞給controller方法的形參 springmvc接收的參數(shù)都是String類型,所以spirngmvc提供了很多converter(轉(zhuǎn)換器)在特殊情況下需要自定義converter,如對日期數(shù)據(jù) 編寫controller 在

    2024年01月23日
    瀏覽(58)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包