上面学习了如何通过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、输出结果如下图所示:
相关推荐
**Spring MVC传值详解** Spring MVC是Spring框架的一部分,它是一个模型-视图-控制器(MVC)架构,用于构建Web应用程序。在Spring MVC中,数据传输是开发过程中的关键环节,涉及到请求从客户端(通常是网页)传递到...
SpringMVC是一个强大的Java web框架,它为开发者提供了模型-视图-控制器(MVC)架构,使得在处理HTTP请求和响应时更加简洁和高效。本文将深入探讨SpringMVC中的一些基本传值方法,包括从后端向前端传递数据以及从...
在Spring MVC框架中,"传值对象"和"拦截器"是两个重要的概念,它们对于构建高效、可维护的Web应用程序至关重要。让我们深入探讨这两个概念及其应用。 首先,"传值对象"(Value Object,VO)是用于在系统组件之间...
2. ModelAndView对象:Spring MVC中的ModelAndView对象允许开发者将数据添加到模型中,然后在视图中访问。例如: ```java @RequestMapping("/show") public ModelAndView showUser() { ModelAndView modelAndView ...
"02_springmvc传值"这个主题涵盖了Spring MVC中如何传递和接收请求参数、模型数据以及如何在不同组件之间共享信息。 1. **请求参数传递**: - GET方式:通过URL查询参数传递,例如`/example?param1=value1¶m2=...
本文将分享如何在Spring MVC的Controller层中将数据传值到JSP页面的方法。 首先,要使用Spring MVC的Model对象或Map对象来向JSP页面传递数据。Model是Spring提供的一个接口,用于向视图层传递数据。通过Model对象,...
以上四种方式都是Spring MVC中常见的页面传值和接收参数的方法。根据具体需求,开发者可以选择最合适的方式来处理数据传递,以实现高效且易于维护的代码结构。理解这些机制对于掌握Spring MVC的精髓至关重要,有助于...
Spring MVC提供了一种模型-视图-控制器(MVC)架构来优雅地处理这些任务。本篇文章将详细阐述如何在Spring MVC中接收参数以及如何将这些参数值传递给前端。 一、接收参数 1. 请求参数: Spring MVC通过`@...
#### 二、Spring MVC的工作流程 Spring MVC的工作流程如下: 1. **前端控制器接收请求**:用户发起HTTP请求到前端控制器DispatcherServlet。 2. **处理请求映射**:DispatcherServlet根据请求URL调用...
二、Spring核心容器 1. Bean工厂:Spring的核心,负责管理对象(称为bean)的生命周期和依赖关系。它根据配置文件或注解来实例化bean,并进行依赖注入。 2. 依赖注入:Spring通过DI实现对象间的依赖关系,无需手动...
2. 后端:Spring MVC中的Controller接收请求,使用`@RequestBody`注解将JSON数据自动映射到Java对象。然后,处理业务逻辑,可能涉及到Fastjson进行数据转换。 3. 响应:处理完业务逻辑后,使用`@ResponseBody`注解...
Spring MVC 是一个强大的Java web框架,它提供了丰富的功能来处理前端与后端的数据交互。本文主要探讨了四种在Spring MVC中从前端(通常是HTML表单)向后端(控制器)传递值的方式,从简单到复杂逐步展开。 1. **...
2. **创建Spring MVC配置**:配置DispatcherServlet、MVC注解驱动、视图解析器(如InternalResourceViewResolver)以及Mybatis的SqlSessionFactoryBean。 3. **Mybatis配置**:编写mybatis-config.xml配置文件,...
开发者可以通过Spring MVC和Struts2控制器处理业务逻辑并返回JSON数据,前端JavaScript利用这些数据更新页面,而Tiles则负责页面的布局和组件组合。理解这些框架的协同工作原理和JSON的数据交换机制,对于开发复杂的...
在Java Web开发中,页面传值是不可或缺的一部分,主要用于用户在网页上填写信息后提交...在实际项目中,通常会结合Model-View-Controller(MVC)架构,使用框架如Spring MVC或Struts来更高效地管理页面传值和业务逻辑。
2. `$("#cb1").attr("checked",true)`: 直接将`checked`属性设置为`true`,同样可以达到选中复选框的效果。 接着,我们看下jQuery中实现的功能: 1. **全选/全不选**:当第一个复选框(通常是全选按钮)的状态改变...
根据题目中的描述,“Spring注解json传值,界面出现中文乱码”,结合给定的部分内容,可以明确几个关键点: 1. **Spring框架使用注解处理JSON数据**:这通常涉及到`@RestController`或`@Controller`配合`@...
通常,这样的项目可能会使用某种编程语言(如Java或C#)和对应的MVC框架(如Spring MVC或ASP.NET MVC)来实现。开发者可能还会利用图形库(如OpenGL或Unity)来创建可交互的3D球体,以及JavaScript或jQuery来处理DOM...
此外,向JSP页面传值是常见的需求,Spring MVC提供了ModelAndView或Model对象来实现这一点,将数据绑定到视图中。 Spring Boot还支持集成Web服务,例如通过JAX-WS实现WebService接口的发布。这使得服务之间可以跨...
在Spring MVC框架中,Controller与JSP页面之间的数据传递是Web应用开发中的常见操作。本篇文章将详细讲解如何在Spring MVC的...希望这篇文章能帮助你更好地理解和使用Spring MVC中Controller与JSP的传值机制。