springmvc接收前台参数为null解决方法

在使用springmvc时,遇到接收前台参数为null可能是没有使用@RequestParam注解的方法进行接参数。

@RequestParam(org.springframework.web.bind.annotation.RequestParam):GET和POST请求传的参数会自动转换赋值到@RequestParam 所注解的变量上。

这个定义什么意思呢?就是说,我们在开发后台时,一定要注意前台发送数据时,ajaxdata中定义数据的默认值是什么。如下html部分的ajax方法中写的data{"testvalue":testvalue}这个data中加了双引号的"testvalue"便是默认值,后面的testvalue是获取html某个标签的ID的值的变量,我们需要传到后台的就是这个变量。这个所谓的默认值更像是一个指示牌。就如你刚下飞机,你的朋友委托一个陌生人来接你,那个陌生人就会举着一个指示牌,当你看到指示牌后,就知道接下来该怎么做。
具体使用方法如下:

//springmvc部分代码
@Controller
public class receiveParameter{
        @RequestMapping("/test")
        @ResponseBody
        public String aptC (@RequestParam("testValue") String data){
        System.out.println("你好");
            System.out.println("接收的参数"+data);
            return "1";
    }
}
//html部分ajax方法代码
    function sendParameter() {
        var testValue = $("#test").val();
        $.ajax({
            url: "test",
            type: "post",
            data: {"testValue": testValue},
            dataType:"json",
            success: function (data) {
                alert(data);
            }
        });
    }

当然,我们不使用@RequestParam这个注解也是行的通的,但后台在定义参数时,我们必须要保持参数名与前台发送数据的通行证保持一致,这样参数名会被默认为@RequestParam的默认值。

具体方法如下:

//springmvc部分代码
@Controller
public class receiveParameter{
        @RequestMapping("/test")
        @ResponseBody
        public String aptC (String testValue){
        System.out.println("你好");
            System.out.println("接收的参数"+testValue);
            return "1";
    }
}
//html部分ajax方法代码
    function sendParameter() {
        var testValue = $("#test").val();
        $.ajax({
            url: "test",
            type: "post",
            data: {"testValue": testValue},
            dataType:"json",
            success: function (data) {
                alert(data);
            }
        });
    }

以上就是springmvc接收参数为null的解决方法,以上观点及比喻纯属个人愚见,如有纰漏,请在评论区斧正。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值