`
虚弱的java
  • 浏览: 163882 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

spring mvc 传值二

 
阅读更多

上面学习了如何通过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、输出结果如下图所示:



 


 

  • 大小: 13.6 KB
  • 大小: 7.3 KB
  • 大小: 6.9 KB
  • 大小: 6.3 KB
  • 大小: 1.9 KB
  • 大小: 6.9 KB
4
2
分享到:
评论
1 楼 red_star 2015-01-23  
讲述的狠好 谢谢

相关推荐

    Spring MVC传值

    **Spring MVC传值详解** Spring MVC是Spring框架的一部分,它是一个模型-视图-控制器(MVC)架构,用于构建Web应用程序。在Spring MVC中,数据传输是开发过程中的关键环节,涉及到请求从客户端(通常是网页)传递到...

    SpringMVC的简单传值(实现代码)

    SpringMVC是一个强大的Java web框架,它为开发者提供了模型-视图-控制器(MVC)架构,使得在处理HTTP请求和响应时更加简洁和高效。本文将深入探讨SpringMVC中的一些基本传值方法,包括从后端向前端传递数据以及从...

    springmvc传值对象及拦截器

    在Spring MVC框架中,"传值对象"和"拦截器"是两个重要的概念,它们对于构建高效、可维护的Web应用程序至关重要。让我们深入探讨这两个概念及其应用。 首先,"传值对象"(Value Object,VO)是用于在系统组件之间...

    后台与页面之间的传值以及页面与页面之间的传值

    2. ModelAndView对象:Spring MVC中的ModelAndView对象允许开发者将数据添加到模型中,然后在视图中访问。例如: ```java @RequestMapping("/show") public ModelAndView showUser() { ModelAndView modelAndView ...

    02_springmvc传值

    "02_springmvc传值"这个主题涵盖了Spring MVC中如何传递和接收请求参数、模型数据以及如何在不同组件之间共享信息。 1. **请求参数传递**: - GET方式:通过URL查询参数传递,例如`/example?param1=value1&param2=...

    java-jsp springmvc-controller 传值到页面的方法

    本文将分享如何在Spring MVC的Controller层中将数据传值到JSP页面的方法。 首先,要使用Spring MVC的Model对象或Map对象来向JSP页面传递数据。Model是Spring提供的一个接口,用于向视图层传递数据。通过Model对象,...

    Spring向页面传值和接受页面传过来的参数详解

    以上四种方式都是Spring MVC中常见的页面传值和接收参数的方法。根据具体需求,开发者可以选择最合适的方式来处理数据传递,以实现高效且易于维护的代码结构。理解这些机制对于掌握Spring MVC的精髓至关重要,有助于...

    springMVC如何接受参数,并传值给前端

    Spring MVC提供了一种模型-视图-控制器(MVC)架构来优雅地处理这些任务。本篇文章将详细阐述如何在Spring MVC中接收参数以及如何将这些参数值传递给前端。 一、接收参数 1. 请求参数: Spring MVC通过`@...

    JAVA框架面试题汇总编程资料

    #### 二、Spring MVC的工作流程 Spring MVC的工作流程如下: 1. **前端控制器接收请求**:用户发起HTTP请求到前端控制器DispatcherServlet。 2. **处理请求映射**:DispatcherServlet根据请求URL调用...

    spring_spring_

    二、Spring核心容器 1. Bean工厂:Spring的核心,负责管理对象(称为bean)的生命周期和依赖关系。它根据配置文件或注解来实例化bean,并进行依赖注入。 2. 依赖注入:Spring通过DI实现对象间的依赖关系,无需手动...

    fastjson+ajax+sppringmvc前后使用json传值的demo

    2. 后端:Spring MVC中的Controller接收请求,使用`@RequestBody`注解将JSON数据自动映射到Java对象。然后,处理业务逻辑,可能涉及到Fastjson进行数据转换。 3. 响应:处理完业务逻辑后,使用`@ResponseBody`注解...

    springmvc前台向后台传值几种方式总结(从简单到复杂)

    Spring MVC 是一个强大的Java web框架,它提供了丰富的功能来处理前端与后端的数据交互。本文主要探讨了四种在Spring MVC中从前端(通常是HTML表单)向后端(控制器)传递值的方式,从简单到复杂逐步展开。 1. **...

    SSM+Echart图表实例

    2. **创建Spring MVC配置**:配置DispatcherServlet、MVC注解驱动、视图解析器(如InternalResourceViewResolver)以及Mybatis的SqlSessionFactoryBean。 3. **Mybatis配置**:编写mybatis-config.xml配置文件,...

    ssm+tiles框架,前后台传值与获取值(json)

    开发者可以通过Spring MVC和Struts2控制器处理业务逻辑并返回JSON数据,前端JavaScript利用这些数据更新页面,而Tiles则负责页面的布局和组件组合。理解这些框架的协同工作原理和JSON的数据交换机制,对于开发复杂的...

    java中页面传值的简单操作

    在Java Web开发中,页面传值是不可或缺的一部分,主要用于用户在网页上填写信息后提交...在实际项目中,通常会结合Model-View-Controller(MVC)架构,使用框架如Spring MVC或Struts来更高效地管理页面传值和业务逻辑。

    jQuery+SpringMVC中的复选框选择与传值实例

    2. `$("#cb1").attr("checked",true)`: 直接将`checked`属性设置为`true`,同样可以达到选中复选框的效果。 接着,我们看下jQuery中实现的功能: 1. **全选/全不选**:当第一个复选框(通常是全选按钮)的状态改变...

    spring注解出现中文乱码

    根据题目中的描述,“Spring注解json传值,界面出现中文乱码”,结合给定的部分内容,可以明确几个关键点: 1. **Spring框架使用注解处理JSON数据**:这通常涉及到`@RestController`或`@Controller`配合`@...

    基于mvc计算球体体积表面积

    通常,这样的项目可能会使用某种编程语言(如Java或C#)和对应的MVC框架(如Spring MVC或ASP.NET MVC)来实现。开发者可能还会利用图形库(如OpenGL或Unity)来创建可交互的3D球体,以及JavaScript或jQuery来处理DOM...

    spring boot、eureka学习总结

    此外,向JSP页面传值是常见的需求,Spring MVC提供了ModelAndView或Model对象来实现这一点,将数据绑定到视图中。 Spring Boot还支持集成Web服务,例如通过JAX-WS实现WebService接口的发布。这使得服务之间可以跨...

    详解springmvc 中controller与jsp传值

    在Spring MVC框架中,Controller与JSP页面之间的数据传递是Web应用开发中的常见操作。本篇文章将详细讲解如何在Spring MVC的...希望这篇文章能帮助你更好地理解和使用Spring MVC中Controller与JSP的传值机制。

Global site tag (gtag.js) - Google Analytics