值的传递分为从页面传到到controller和从controller传递到页面,下面分别进行介绍:

  

package com.springmvc.web;

import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; @Controller
public class HelloController { @RequestMapping("test")
public String test(@RequestParam("username")String username,Map<String, Object> map){
map.put("username", username);
return "test";
} @RequestMapping({"/hello","/"})
public String hello(String username,Map<String,Object> map){
System.out.println("username==" + username);
map.put("username", username);
map.put("password", "222");
return "hello";
} @RequestMapping("/welcome")
public String welcome(String username,Model model){
System.err.println("username=" + username);
model.addAttribute("username", username);
model.addAttribute("password", "333333333");
model.addAttribute(username);
return "welcome";
}
}

1.将参数传递给controller

  (1)利用@RequestParam来传递必须要的参数,并且将参数作为url的一部分进行传递。

例如: http://127.0.0.1:8080/Spring_Hello/test?username=zhangsan,这样是可以接受到username的,但是请求的url中,username属性必须存在,否则会报

HTTP Status 400 -   这里,是将参数当成了url的一部分.

  (2)不想将参数作为url的一部分,直接写参数即可,不需要RequestParam

2.将参数传递给页面

  (1) 在方法参数中放入一个Map<String,Object>,将需要传递给页面的参数以键值对的方式放入。在页面用${key }的方式取得数据。 如例 /hello

(2) 也可以用spring推荐的方式,用model传递参数 如welcome,其中省略掉key的方式,默认key为value的数据类型。在传递对象类型数据时十分有用。如例 /welcome

PS: model和map的区别还在于:利用map,参数是可以为空的;如果利用model,第一个参数username是必须要传递的。

SpringMVC的值传递的更多相关文章

  1. [SpringMVC-值传递] 初始SpringMVC--SpringMVC中的值传递

    把页面中输入的值传递到后台以及后台向前台传递,有以下几种方式 这里以登录为例子,实现打印前端页面的值 1,新建一个控制器,根据不同的请求地址实现不同的请求方式 LoginController.java ...

  2. springMVC通过ajax传递参数list对象或传递数组对象到后台

    springMVC通过ajax传递参数list对象或传递数组对象到后台 环境: 前台传递参数到后台 前台使用ajax 后台使用springMVC 传递的参数是N多个对象 JSON对象和JSON字符串 ...

  3. Java 为值传递而不是引用传递

    ——reference Java is Pass by Value and Not Pass by Reference 其实这个问题是一个非常初级的问题,相关的概念初学者早已掌握,但是时间长了还是容易 ...

  4. python 引用传递与值传递

    https://taizilongxu.gitbooks.io/stackoverflow-about-python/content/16/README.html 1.也就是如果传可变对象,就是引用传 ...

  5. java的值传递笔记

    1. 背景:开发小伙伴突然问我java是值传递还是引用传递,我说当然是值传递,只不过有时候传递一个对象时实际传递的是对象的地址值,所以让人容易产生一种引用传递的假象,貌似在李刚的疯狂java讲义有提到 ...

  6. Java 中的值传递和参数传递

    Java中没有指针,所以也没有引用传递了,仅仅有值传递不过可以通过对象的方式来实现引用传递 类似java没有多继承 但可以用多次implements 接口实现多继承的功能 值传递:方法调用时,实际参数 ...

  7. java是值传递还是引用传递

    首先写一个简便的Employee,以便测试使用. class Employee { private String name; public Employee(String name) { this.n ...

  8. Java中值传递和引用传递的概念

    很多书中都提到了在Java中只存在值传递,但是今天在一个NanoHTTPD的源码中看到这样一段: if (qmi >= 0) { decodeParms(uri.substring(qmi + ...

  9. javascript中值传递与值引用的研究

    今天重新看了一下<javascript高级程序设计>,其中讲到了javascript中的值传递和值引用,所以就自己研读了一下,但是刚开始没有明白函数中的参数只有值传递,有的场景好像参数是以 ...

随机推荐

  1. Working with Numbers in PL/SQL(在PL/SQL中使用数字)

    This article gives you all the information you need in order to begin working with numbers in your P ...

  2. doT.js 声明

    // 模板引擎配置项 var tmplOptions = { evaluate: /\{\{([\s\S]+?\}?)\}\}/g, interpolate: /\{\{=([\s\S]+?)\}\} ...

  3. 利用MetaWeblog API 自制博客发布小工具

    博客园提供了诸多数据接口, 利用这些接口可以很容易的实现博客的发布,修改,删除等 1.需要引用一个DLL:为CookComputing.XmlRpcV2 2.新建一个类,在其中是一些要实现的东西,如: ...

  4. 代码先行-log4Net初体验

    1.安装 从http://logging.apache.org/log4net/download_log4net.cgi下载编译好的log4Net包并解压. 找到 bin\net\4.0\releas ...

  5. eclipse中多个工程编译到同一个目录下

    1.点击link source  2.选择Java(ps:Java文件目录)或者resource(ps:配置文件目录)  3.最后结果,然后使用project中的clean进行编译,就可以把两个工程编 ...

  6. hdu1166 经典线段入门

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. entity framework 6 通用数据类

    原文  http://blog.csdn.net/laokaizzz/article/details/25730813 public class BaseDAL { string strConn = ...

  8. 2016_ThinkinG of everyDay

    2016-2-15:新年的第一篇心情,慢慢更新. 1.以后的文章当然都会是ACM竞赛的题解,但会多写写自己的思考以及总结,因为感觉自己缺少思考这个习惯,有些东西在脑子里也只是一带而过,最后也不会停留多 ...

  9. Cows(poj 2481 树状数组)

    Cows Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 15301   Accepted: 5095 Description ...

  10. WPF中XAML中使用String.Format格式化字符串示例

    货币格式 <TextBlock Text="{Binding Price, StringFormat={}{0:C}}" /> // $123.46 货币格式,一位小数 ...