SpringMVC传递参数

SpringMVC传递参数

老师,请问SpringMVC不是不直接支持map集合类型来传递参数吗,为什么在报销单处理的控制器中,很多控制器的方法参数都是map类型?

@RequestMapping("/to_add")
public String toAdd(Map<String,Object> map){
   map.put("items", Contant.getItems());
   map.put("info",new ClaimVoucherInfo());
   return "claim_voucher_add";
}


@RequestMapping("/add")
public String add(HttpSession session, ClaimVoucherInfo info){
   //设置报销单的创建者编号,我们首先就要从session中获取登录对象
   Employee employee = (Employee)session.getAttribute("employee");
   info.getClaimVoucher().setCreateSn(employee.getSn());
   claimVoucherBiz.save(info.getClaimVoucher(),info.getItems());
   return "redirect:deal";
}



@RequestMapping("/detail")
public String detail(int id, Map<String,Object> map){
   map.put("claimVoucher",claimVoucherBiz.get(id));
   map.put("items",claimVoucherBiz.getItems(id));
   map.put("records",claimVoucherBiz.getRecords(id));
   return "claim_voucher_detail";
}

@RequestMapping("/self")
public String self(HttpSession session, Map<String,Object> map){
   Employee employee = (Employee)session.getAttribute("employee");
   map.put("list",claimVoucherBiz.getForSelf(employee.getSn()));
   return "claim_voucher_self";
}

@RequestMapping("/deal")
public String deal(HttpSession session, Map<String,Object> map){
   Employee employee = (Employee)session.getAttribute("employee");
   map.put("list",claimVoucherBiz.getForDeal(employee.getSn()));
   return "claim_voucher_deal";
}


@RequestMapping("/to_update")
public String toUpdate(int id,Map<String,Object> map){
   //修改报销单
   map.put("items", Contant.getItems());
   ClaimVoucherInfo info =new ClaimVoucherInfo();
   info.setClaimVoucher(claimVoucherBiz.get(id));
   info.setItems(claimVoucherBiz.getItems(id));
   map.put("info",info);
   return "claim_voucher_update";
}


@RequestMapping("/update")
public String update(HttpSession session, ClaimVoucherInfo info){
   Employee employee = (Employee)session.getAttribute("employee");
   info.getClaimVoucher().setCreateSn(employee.getSn());
   claimVoucherBiz.update(info.getClaimVoucher(),info.getItems());
   return "redirect:deal";
}

@RequestMapping("/submit")
public String submit(int id){
   claimVoucherBiz.submit(id);
   return "redirect:deal";
}

@RequestMapping("/to_check")
public String toCheck(int id,Map<String,Object> map){

   map.put("claimVoucher",claimVoucherBiz.get(id));
   map.put("items",claimVoucherBiz.getItems(id));
   map.put("records",claimVoucherBiz.getRecords(id));

   //传递一个报销单处理记录
   DealRecord dealRecord = new DealRecord();
   dealRecord.setClaimVoucherId(id);
   map.put("record",dealRecord);
   return "claim_voucher_check";
}

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
我会看星星 2019-05-24 20:46:12

这个应该是SSM框架中可以直接使用map集合传值,之前springMVC中需要绑定。你可以看一下这个:https://blog.csdn.net/liangshilin/article/details/82724062

好帮手慕阿满 2019-05-24 14:23:33

同学你好,SpringMVC可以传递map集合类型的。同学在哪里听到的SpringMVC不支持map集合呢?

祝:学习愉快~

  • 提问者 慕设计7455108 #1
    老师,课程中说的是不支持直接用map进行传递数据,要另外写一个类把及集合封装进去,但是在报销单处理中是直接把map作为参数的。
    2019-05-24 14:41:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师