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

溫馨提示×

溫馨提示×

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

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

如何使用controller傳boolean形式值

發布時間:2022-03-18 16:13:44 來源:億速云 閱讀:234 作者:iii 欄目:開發技術

這篇文章主要講解了“如何使用controller傳boolean形式值”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何使用controller傳boolean形式值”吧!

controller傳boolean形式值

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

controller傳入boolean類型的值,參數為非必填

我們可以傳三種類型

  • 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

都會報錯

controller層接收各種參數和文件

在構建一個系統時,前端和后臺總是需要對接,在springmvc架構里,這種對接一般發生在Controller層中。方法參數綁定首先支持Java所有基本類型(包括: byte、short、int、long、float、double、char、string、boolean),以及基本類型對應封裝高級類(包括:StringBuilder、StringBuffer),也包含 了我們自己定義的各種JavaBean類型。接受的方式有很多,但是也要在接受數據時也要體現面向對象的思想。

簡單傳入

以用戶登陸為例,在前臺傳入數據,做一個傳入的例子。

前臺傳入數據的形式為 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>

在這種情況下,如何在后臺進行接受呢?可以采用如下的方法。

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

當然也可以采用HttpServeletRequest的形式進行接受

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

以json對象的形式傳入

還是以用戶登陸為例,在前臺傳入數據,做一個傳入的例子。

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
	//class獲取,需要用對象的形式
	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層建議使用對象的形式進行接受。

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

在傳參時,需要添加注解@RequsetBody用來接收contentType為application/json的傳入對象。如果傳過來的時contentType頭為application/x-www-form-urlencoded,那么建議使用另外一個注解接受@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();
    }

如果啥都不寫,那么就得不到這個對象,接受到的對象為NULL。

當然,你可以不接受為一個對象,可以把傳過來的json對象轉化為json字符串,然后用各種工具進行解析,也是可以的。當然也是要加上@RequestBody或者@RequestParam的。

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

文件傳輸

在項目中,文件上傳有別于對象的上傳。

<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() 無法序列化二進制文件,這里采用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,//序列化處理,默認為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>

在后臺接受參數的例子:

    @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);
    }

這里需要注意一點,文件名必須和參數名保持一致,在本項目中file文件的名字必須為multipartFile。

感謝各位的閱讀,以上就是“如何使用controller傳boolean形式值”的內容了,經過本文的學習后,相信大家對如何使用controller傳boolean形式值這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

彭阳县| 增城市| 桐庐县| 山阳县| 蒙自县| 信宜市| 山东| 元谋县| 乌拉特后旗| 沙河市| 曲麻莱县| 庆云县| 昌吉市| 德兴市| 建始县| 滨州市| 邢台市| 都昌县| 特克斯县| 于都县| 久治县| 邳州市| 曲沃县| 拉萨市| 铜鼓县| 永吉县| 嘉峪关市| 疏勒县| 浦城县| 航空| 双鸭山市| 阿图什市| 宁乡县| 南皮县| 铅山县| 山东| 太康县| 大悟县| 肥乡县| 盐边县| 大石桥市|