老师,Spring MVC接收数据的问题。 老师辛苦!

老师,Spring MVC接收数据的问题。 老师辛苦!

@RequestMapping("/list")
    public String list(Map<String,Object> map){
        map.put("list", departmentBiz.getAll());
        return "department_list";
    }
    @RequestMapping("/to_add")
    public String toAdd(Map<String,Object> map){
        map.put("employee", new Employee());
        map.put("dlist", departmentBiz.getAll());
        map.put("plist", Contant.getPosts());
        return "employee_add";
    }
  1. 这边的话,为什么说用map来传递数据是可以,跳转到department_list.jsp页面,用什么可以用map的key来取来值? 

        使用map传递接收有什么需要注意的点呢?

    2.ModelMap又是怎么使用的呢?

    3.Spring MVC的form标签是怎么使用的呢?里面的各个参数的意义呢? ModelAttribute是做什么呢,必须传一个空的对象过去吗??

    4.spring MVC 在参数的接收上应该怎么选择呢??

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

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

2回答
好帮手慕小班 2020-10-11 16:41:25

同学你好,是的, 如果同学不使用map接收,而是使用多个参数去接收的时,建议同学加上@RequestParam。

祝:学习愉快~

好帮手慕阿慧 2020-10-09 15:50:59

同学你好,

1、可以map来接收传递的数据,因为map的数据结构为key-value形式,表单的name会作为map的key,表单的value作为map的value。

需要注意当提交的表单中不包含复合数据,如提交多个purpose时,不能使用Map接收,因为数据会丢失。

2、关于ModelMap和Spring MVC的form标签,同学可以看一下实战课程,有专门详细讲解到,课程链接为https://class.imooc.com/lesson/741#mid=18248 

3、Spring MVC 在参数的接收上可以根据传入的数据类型和后端要使用的类型进行选择。如前端提交的age值是数字类型如20,后端就可以使用Integer或int,String接收。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 超级金甲战士 #1
    map接收的话 有在map前面加@RequestParam和没加有区别吗??
    2020-10-09 19:13:30
  • 同学你好,@RequestParam注解是将请求参数绑定到控制器Controller的方法参数上。map接收的话,在map前面加不加@RequestParam是没有区别的呐。 祝学习愉快~
    2020-10-10 09:44:13
  • 不加@RequestParam是不是参数接收不了,绑定了BindingAwareModelMap隐含模型,向这个隐含模型种设置值后,在返回的页面中就能通过request域取值。 加了@RequestParam能够传入了参数,Map类型为LinkedHashMap,而不是隐含模型? 那么加了@RequestParam能不能在接收后,跳转的页面中取出map的值呢?
    2020-10-11 13:46:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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