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

使用controller傳boolean形式值

 更新時(shí)間:2022年03月18日 15:01:15   作者:starkpan  
這篇文章主要介紹了使用controller傳boolean形式值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

controller傳boolean形式值

@GetMapping("/check-cart")
public List<CartViewDto> checkCart(@RequestParam(value = "requirePrice", required = false) boolean requirePrice) {
?? ??? ?return service.checkCart(requirePrice);
?? ?}

controller傳入boolean類型的值,參數(shù)為非必填

我們可以傳三種類型

  • http://端口:ip/cart/check-cart
  • http://端口:ip/cart/check-cart?requirePrice=true
  • http://端口:ip/cart/check-cart?requirePrice=false

這三種都可以。

其他如:

  • http://端口:ip/cart/check-cart?requirePrice=
  • http://端口:ip/cart/check-cart?requirePrice=111

都會(huì)報(bào)錯(cuò)

controller層接收各種參數(shù)和文件

在構(gòu)建一個(gè)系統(tǒng)時(shí),前端和后臺(tái)總是需要對(duì)接,在springmvc架構(gòu)里,這種對(duì)接一般發(fā)生在Controller層中。方法參數(shù)綁定首先支持Java所有基本類型(包括: byte、short、int、long、float、double、char、string、boolean),以及基本類型對(duì)應(yīng)封裝高級(jí)類(包括:StringBuilder、StringBuffer),也包含 了我們自己定義的各種JavaBean類型。接受的方式有很多,但是也要在接受數(shù)據(jù)時(shí)也要體現(xiàn)面向?qū)ο蟮乃枷搿?/p>

簡單傳入

以用戶登陸為例,在前臺(tái)傳入數(shù)據(jù),做一個(gè)傳入的例子。

前臺(tái)傳入數(shù)據(jù)的形式為 username=10&password=10

<html>
<head>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
	//簡單形式的傳參
	$.ajax({
			type: "POST",
            url: "http://localhost:8080/test/requesetParamGet",
            contentType: "application/x-www-form-urlencoded",
            data:"username=10&password=10",
            dataType: "json",
            success: function (result) {
                if (result.code == 0) {
					console.log(result)
                } else {
                   
                }
            }
        });
</script>
</head>
</html>

在這種情況下,如何在后臺(tái)進(jìn)行接受呢?可以采用如下的方法。

? ? @ResponseBody
? ? @RequestMapping("/simple")
? ? public R list(String name,String age){
? ? ? ? System.out.println("name:"+name+",age:"+age);
? ? ? ? return R.ok();
? ? }

當(dāng)然也可以采用HttpServeletRequest的形式進(jìn)行接受

? ? @ResponseBody
? ? @RequestMapping("/simple")
? ? public R requestGet(HttpServletRequest request){
? ? ? ? System.out.println("reqname:"+request.getParameter("name")+",reqage:"+request.getParameter("age"));
? ? ? ? return R.ok();
? ? }

以json對(duì)象的形式傳入

還是以用戶登陸為例,在前臺(tái)傳入數(shù)據(jù),做一個(gè)傳入的例子。

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
	//class獲取,需要用對(duì)象的形式
	var s={
	name:'liMin',
	age:'10'
	}
	$.ajax({
			type: "POST",
            url: "http://localhost:8080/test/classGet",
            contentType: "application/json",
            data:JSON.stringify(s),
            dataType: "json",
            success: function (result) {
                if (result.code == 0) {
					console.log(result)
                } else {
                   
                }
            }
        });
</script>

這種情況下,controller層建議使用對(duì)象的形式進(jìn)行接受。

? ? @ResponseBody
? ? @RequestMapping("/classGet")
? ? public R classGet(@RequestBody TestEntity testEntity){
? ? ? ? System.out.println("className:"+testEntity.getName()+"classAge:"+testEntity.getAge());
? ? ? ? return R.ok();
? ? }

在傳參時(shí),需要添加注解@RequsetBody用來接收contentType為application/json的傳入對(duì)象。如果傳過來的時(shí)contentType頭為application/x-www-form-urlencoded,那么建議使用另外一個(gè)注解接受@RequestParam來接受。

? ? @RequestMapping("/requesetParamGet")
? ? public R addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {
? ? ? ? System.out.println("username is:"+username);
? ? ? ? System.out.println("password is:"+password);
? ? ? ? return R.ok();
? ? }

如果啥都不寫,那么就得不到這個(gè)對(duì)象,接受到的對(duì)象為NULL。

當(dāng)然,你可以不接受為一個(gè)對(duì)象,可以把傳過來的json對(duì)象轉(zhuǎn)化為json字符串,然后用各種工具進(jìn)行解析,也是可以的。當(dāng)然也是要加上@RequestBody或者@RequestParam的。

? ? @ResponseBody
? ? @RequestMapping("/stringGet")
? ? public R stringGet(@RequestBody ?String string){
? ? ? ? System.out.println("String:"+string);
? ? ? ? return R.ok();
? ? }

文件傳輸

在項(xiàng)目中,文件上傳有別于對(duì)象的上傳。

<html>
<head>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
 
    function savePic(){
        var formData = new FormData($( "#uploadPic" )[0]);  
        var ajaxUrl = "http://localhost:8080/test/fileUpload";
        //alert(ajaxUrl);
        //$('#uploadPic').serialize() 無法序列化二進(jìn)制文件,這里采用formData上傳
        //需要瀏覽器支持:Chrome 7+、Firefox 4+、IE 10+、Opera 12+、Safari 5+。
        $.ajax({
            type: "POST",
            //dataType: "text",
            url: ajaxUrl,
            data: formData,
            //async: false,  
            //cache: false,  
            contentType: false,  //上傳文件
            processData: false,//序列化處理,默認(rèn)為true,上傳文件需要改成false
            success: function (data) {
				alert(data);
            },
            error: function(data) {
                alert("error:"+data.responseText);
 
             }
        });
        return false;
    }
	function jiance(){
	
		var formData = new FormData();
		formData.append()		
		}
</script>
</head>
<body>
	<form id="uploadPic" action="" enctype="multipart/form-data">
		<input type="file" name="multipartFile" id="file">
		<a href="javascript:savePic();" class="btn green"> 提交 </a>
		<a href="javascript:jiance();" class="btn green"> jiance </a>
	</form>
</body>
</html>

在后臺(tái)接受參數(shù)的例子:

? ? @RequestMapping("/fileUpload")
? ? @ResponseBody
? ? public R upload(MultipartFile multipartFile){
? ? ? ? String filePath="";
? ? ? ? if(!multipartFile.isEmpty()){
? ? ? ? ? ? System.out.println(multipartFile.getOriginalFilename());
? ? ? ? }
? ? ? ? return R.ok().put("filePath",filePath);
? ? }
? ? @RequestMapping("/fileUpload2")
? ? @ResponseBody
? ? public R upload2(@RequestParam("multipartFile") MultipartFile multipartFile){
? ? ? ? String filePath="";
? ? ? ? if(!multipartFile.isEmpty()){
? ? ? ? ? ? System.out.println(multipartFile.getOriginalFilename());
? ? ? ? }
? ? ? ? return R.ok().put("filePath",filePath);
? ? }
? ? @RequestMapping("/fileUpload3")
? ? @ResponseBody
? ? public R upload3(@RequestBody MultipartFile multipartFile){
? ? ? ? String filePath="";
? ? ? ? if(!multipartFile.isEmpty()){
? ? ? ? ? ? System.out.println(multipartFile.getOriginalFilename());
? ? ? ? }
? ? ? ? return R.ok().put("filePath",filePath);
? ? }

這里需要注意一點(diǎn),文件名必須和參數(shù)名保持一致,在本項(xiàng)目中file文件的名字必須為multipartFile。

相關(guān)文章

  • JAVA中調(diào)用C語言函數(shù)的實(shí)現(xiàn)方式

    JAVA中調(diào)用C語言函數(shù)的實(shí)現(xiàn)方式

    這篇文章主要介紹了JAVA中調(diào)用C語言函數(shù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 詳解使用Spring AOP和自定義注解進(jìn)行參數(shù)檢查

    詳解使用Spring AOP和自定義注解進(jìn)行參數(shù)檢查

    本篇文章主要介紹了詳解使用Spring AOP和自定義注解進(jìn)行參數(shù)檢查,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java synchronized偏向鎖的核心原理詳解

    Java synchronized偏向鎖的核心原理詳解

    這篇文章主要為大家詳細(xì)介紹了Java synchronized偏向鎖的核心原理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 利用線程實(shí)現(xiàn)動(dòng)態(tài)顯示系統(tǒng)時(shí)間

    利用線程實(shí)現(xiàn)動(dòng)態(tài)顯示系統(tǒng)時(shí)間

    編寫Applet小程序,通過在HTML文檔中接收參數(shù),顯示當(dāng)前的系統(tǒng)時(shí)間,需要的朋友可以參考下
    2015-10-10
  • Java使用OpenFeign管理多個(gè)第三方服務(wù)調(diào)用

    Java使用OpenFeign管理多個(gè)第三方服務(wù)調(diào)用

    最近開發(fā)了一個(gè)統(tǒng)一調(diào)度類的項(xiàng)目,需要依賴多個(gè)第三方服務(wù),這些服務(wù)都提供了HTTP接口供我調(diào)用。感興趣的可以了解一下
    2021-06-06
  • Spring?Boot分離配置文件的多種方式總結(jié)

    Spring?Boot分離配置文件的多種方式總結(jié)

    Spring Boot可以外部化程序配置,以便可以在不同環(huán)境中使用相同的應(yīng)用程序代碼;當(dāng)然Spring Boot可以將配置文件進(jìn)行拆分,以便于激活不同的運(yùn)行環(huán)境,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Spring?Boot分離配置文件的多種方式,需要的朋友可以參考下
    2022-11-11
  • js判斷是否含有GBK以外的字符的函數(shù)

    js判斷是否含有GBK以外的字符的函數(shù)

    判斷是否含有GBK以外的特殊字符
    2008-10-10
  • Java在PDF中替換文字詳解及可能遇到的問題

    Java在PDF中替換文字詳解及可能遇到的問題

    本文詳細(xì)介紹了如何使用Java和Spire.PDF?for?Java庫在PDF文檔中批量替換文字,包括替換特定文字的所有實(shí)例、第一個(gè)實(shí)例以及使用正則表達(dá)式,同時(shí),探討了可能遇到的問題及其解決方案,需要的朋友可以參考下
    2024-09-09
  • java中Map集合的常用方法總結(jié)大全

    java中Map集合的常用方法總結(jié)大全

    開發(fā)中最常用的就是List集合和Map集合,Map集合是基于java核心類java.util中的,下面這篇文章主要給大家總結(jié)介紹了關(guān)于java中Map集合的一些常用方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • java條件語句示例詳解

    java條件語句示例詳解

    本文給大家介紹java條件語句,Java 中的條件語句允許程序根據(jù)條件的不同執(zhí)行不同的代碼塊,一個(gè) if 語句包含一個(gè)布爾表達(dá)式和一條或多條語句,本文結(jié)合示例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2023-05-05

最新評(píng)論

饶河县| 敦煌市| 青岛市| 普兰店市| 和林格尔县| 平凉市| 四平市| 兖州市| 施秉县| 石嘴山市| 乡宁县| 深州市| 化州市| 大渡口区| 腾冲县| 伊宁县| 聂拉木县| 绥阳县| 望谟县| 调兵山市| 屏山县| 张家界市| 吉安市| 古蔺县| 新蔡县| 罗山县| 广南县| 专栏| 同德县| 江口县| 本溪| 祁连县| 五莲县| 涿州市| 尤溪县| 会宁县| 云和县| 大厂| 酉阳| 荣成市| 漳州市|