springmvc几种传值方式

  • 传统request方式
    @RequestMapping("something.do")
    public ModelAndView something(HttpServletRequest request){
       //需要request就直接写在参数里面,springmvc会直接传进来
        String something = request.getAttribute("something");
        String something = request.getParameter("something");
        //以上是经典做法
    }
  • 使用路径变量
    @RequestMapping("something/{id}.do")
    public ModelAndView something(@PathVariable("id")int id){
    }
在路径里面用{}标出需要的变量, 然后用注解@PathVariable就可以获得,例如/something/1.do,id就被赋值为1
  • 使用注解@RequestParam, @RequestAttribute等
  @RequestMapping("something.do")
    public ModelAndView something(@RequestParam("id")String id,){

    }
这里和
      int id = request.getParameter("id");
效果是一样的
  • 自动注入
    这个方法很常用,而且非常方便,下面举个栗子:
    这里有一个数据类:
public class Data {
    private int id;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
在一个form表单中同样有这两项,那么这个时候就可以用自动注入了(这样的场景很常见,后台数据库的数据和前台表单往往是一一对应的),用法如下:
@RequestMapping("something.do")
    public ModelAndView addCate(Data data){

}
没错,只需要将对应的类传进去,只要和表单或者地址栏的参数(?id=...&name=...)一一对应,springmvc就可以自动注入,可以省很多的事!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值