public String list(Map<String, Object> map)

public String list(Map<String, Object> map)


@RequestMapping("/list")
public String list(Map<String, Object> map) {
    map.put("list", departmentBiz.getAll());
    return "department_list";
}

方法里的形参map,是控制器向department_list.jsp页面要传递的数据,这个知识点在SpringMVC课程(11月14日更新后的课程)里面没有讲吧?

再比如说public String add(Department department)方法,SpringMVC是如何确定这里的形参是页面向控制器传递的,而不是控制器像页面传递的。老师能给讲讲相关的知识点码

正在回答

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

1回答

同学你好。

1、这里的map是SpringMVC帮我们自动封装成的。key值是name,value就是input元素的value值。

2、Controller方法中传入的参数都是从页面接收的。return后面返回的内容,可以是返回给页面的内容。

1)像同学贴的这种形式是直接return,没有@ResponseBody。这种情况下return后的字符串会被视图解析器解析,拼接上前缀后缀变成完整的页面路径,然后转发到这个页面去。

http://img1.sycdn.imooc.com//climg/5de394b809b4c12b03740085.jpg


2)当方法上使用了@ResponseBody后,return后的内容不会经过视图解析器解析,相当于直接使用response.getWriter().println()输出。这种方法一般是搭配Ajax使用的。图为SpringMVC入门与数据绑定课程中的4-1节 响应输出结果 的例子:

http://img1.sycdn.imooc.com//climg/5de3937509bea87611700189.jpg


如果解答了同学的疑问,望采纳~

祝学习愉快~

  • 懒人13 提问者 #1
    老师说的第二点:2、Controller方法中传入的参数都是从页面接收的。这句话应该怎么理解?
    2019-12-01 18:49:47
  • 懒人13 提问者 #2
    要是理解成从页面传过来,难不成我贴的那块代码中形参map是从页面中传过来的?
    2019-12-01 18:51:51
  • 懒人13 提问者 #3
    还有老师说的第一点当中:key值是name,value就是input元素的value值。老师说的情况是从页面向Controller中传值吧?可这个list方法是Controller向页面中传值的呀
    2019-12-01 18:55:24
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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