上面学习了如何通过url地址栏传参数给controller,那么接下来,学习下controller如何将传递给view。
1、在WelcomController类中的创建如下方法:
@RequestMapping(value={"/","/welcom"})
public String welcome(@RequestParam("username") String username,Map<String ,String> context){
context.put("username", username);
System.out.println("接收传入的参数 username: "+username);
return "welcome";
}
此时项目目录如图:
2、在jsp页面输入如下代码:
3、在地址栏中输入请求路径及参数,得到结果,如下图所示:
从操作实例上不难看出,直接使用map就可以传值。但是在spring的官网上,明确给出不建议使用map传值。
4、第二种传值方式Model(Spring建议使用的方式)
/**
*
* @description: 使用model进行传值
* @param username 接收的参数
* @param model 存储值
* @return
*
*/
@RequestMapping("/welcome")
public String welcome(String username,Model model){
model.addAttribute("username",username);//存储值
return "welcome";
}
在地址栏中输入请求路径及参数,得到结果如下图:
使用上面的方法传值与使用map的效果是一样儿的。很方便。
5、与structs2传值方式相比
在structs2中,要想传值(username),我们要这样儿写:
private String username;
//setter ,getter方法
用这种方法传值最大的问题就是:如果controller是单例的,则第一个请求未处理完成时,第二个请求到来,username的值还是第一个请求时的值,所以struts2要在action上设置scope参数。
spring mvc就不存在这个问题。而且spring mvc中的controller是单例的,执行效率相对于structs2也要高。
6、关于model传值中的一个需要注意的地方:
model.addAttribute(username);
上面的这种情况就是:在传值的时候没有key,那么它的key究竟是什么呢?
在spring文档中,明确指出,如果不指定key,则默认使用对象的类型(是类型)做为key。
@RequestMapping("/welcome")
public String welcome(String username,Model model){
model.addAttribute("username",username);
//此时默认使用对象的类型作为key-->model.addAttribute("string",username)
model.addAttribute(username);
return "welcome";
}
7、在welcome.jsp页面中输入如下代码:
8、输出结果如下图所示:
相关推荐
https://blog.csdn.net/qq_43499543/article/details/117444115
下面小编就为大家带来一篇SpringMVC的简单传值(实现代码)。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
OA项目,使用SSM框架开发,使用EASYUI前端AJAX的JSON传值实现,对数据进行合理封装。
今天小编就为大家分享一篇springmvc前台向后台传值几种方式总结(从简单到复杂),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Spring MVC+Mybatis结合Echarts图表插件展示数据
最近学习java,学习使用Springmvc,作为练习写了一个 通过IDEA新建Spring MVC项目设置运行、调试相关配置导入Spring MVC 相关类库添加 Controller修改 url-attern(web.xml)配置 component-scan(dispatcher-...
SpringMVC-Template SpringMVC项目模版,用于快速开始一个SpringMVC的项目 使用 Eclipse需要安装maven插件,现在最新的eclipse都预装了maven的插件了 ...Spring中Model和Map传值的使用 Maven的配置
本篇文章主要介绍了springmvc 中controller与jsp传值,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本篇文章主要介绍了springMVC如何将controller中Model数据传递到jsp页面,具有一定的参考价值,有兴趣的可以了解一下
本篇文章主要介绍了springMvc请求的跳转和传值的方法,这里整理了几种跳转方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
路径传值 @RequestMapping("/login/{id}") public String demo(@PathVariable Long id){ ... } 通过@PathVariable就可以接受路径/login/{id}中的id值了。 From表单传值 先介绍模拟前台和实体类: 前台: 用户名...
Java面试题50.Spring MVC的执行流程 Java面试题51.SpringMVC和Struts2的不同 Java面试题52.简单介绍一下Spring或者Spring的两大核心 Java面试题53.AOP是什么?都用它做什么? Java面试题54.Spring事务的传播特性和...
│ Java面试题50.Spring MVC的执行流程.mp4 │ Java面试题51.SpringMVC和Struts2的不同.mp4 │ Java面试题52.简单介绍一下Spring或者Spring的两大核心.mp4 │ Java面试题53.AOP是什么?都用它做什么?.mp4 │ Java...
本篇文章主要介绍了java web SpringMVC后端传json数据到前端页面实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
主要介绍了详解SpringMVC——接收请求参数和页面传参,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
第02讲_springboot及MVC架构基本原理介绍.mp4 第03讲_新建一个springbootboot项目并运行起来.mp4 第04讲_使用springbootboot实现helloworld并进行自定义配置.mp4 第05讲_从控制器传值到freemark模板并展示在页面.mp4...
这是我后台SpringMVC控制器接收isform参数的方法,只是简单的打出它的值: @RequestMapping(method = RequestMethod.POST) @ResponseBody public Map<String> save( @RequestParam(value = "isform", required =...
如何传值在2个页面之间 :要求不刷新父页面,并且不能用Querystring传值 Asp.net地址转义(分析)加强版 Web的桌面提醒(Popup) Using the Popup Object Click button only once in asp.net 2.0 Coalesys PanelBar ...