SSM-SpringMVC-深入SpringMVC组件-控制器接收各类请求参数

本文详细介绍了SpringMVC框架中控制器如何接收不同类型的请求参数,包括普通参数、POJO对象、URL路径参数及JSON数据等,并展示了如何使用@RequestParam和@PathVariable等注解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSM-SpringMVC-深入SpringMVC组件-控制器接收各类请求参数


接受普通请求参数

  1. 通过参数名称和 HTTP 请求参数 名称保持 致来获取参数,如果不一致是没法获取到的,这样的方式允许参数为空。
    @RequestMapping("/commonParams”")
    public String ModelAndView commonParams(String roleName,String note){
		System.out.println(roleName);
        System.out.println(note);
        ModelAndView mv=new ModelAndView();
        mv.setViewName("index");
        return "mv";
    }
  1. 使用POJO来管理这些参数,SpringMVC有映射POJO的能力,注意它的属性和HTTP请求参数名保持一致

使用@RequestParam注解获取参数

​ 当参数名称不一致时候,可以通过注解@RequestParam重新设置规则

    @RequestMapping("/requestParam")
    public String ModelAndView requestParam(@RequestParam("role_name") String roleName,String note){
		System.out.println(roleName);
        System.out.println(note);
        ModelAndView mv=new ModelAndView();
        mv.setViewName("index");
        return "mv";
    }

注意:在默认情况下,使用了@RequestParam参数不能为空,否则系统会抛出异常,可以通过配置required为false接解决

@RequestParam(value=“role_name”,required=false) String roleName


使用URL传递参数

​ 使用URL形式传递参数,这符合RESTFul风格,需要使用@RequestMapping和@PathVaribale两个注解共同协作完成

//注入角色服务对象
@Autowired
RoleService roleService;

	//{id}代表接受一个参数
    @RequestMapping("/getRole/{id}")
	//注解@PathVariable 表示从 URL 的请求地址中获取参数
    public String ModelAndView requestParam(@PathVaribale("id") Long id){
		Role role=roleService.getRole(id);
        ModelAndView mv=new ModelAndView();
        //绑定数据模型
        mv.addObject(role);
        //设置JSON视图
        mv.setView(new MappingJackson2JsonView());
        return mv;
    }

​ {id}代表处理器需要接受一个由URL组成的参数,且参数名称为id,那么方法中的@PathVariable(“id”)表示将获取这个@RequestMapping中定义名称为id的参数,就能在方法内获取这个参数,然后通过服务类获取角色,绑定视图,将其转换JSON输出


传递JSON

​ 使用SpringMVC提供的注解@RequestBody接受参数,还可以使用第三方JSON工具进行转换后传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值