1.@RequestParam

@RequestParam 常用来映射请求参数,它有三个属性可以配置:

  • value 值即请求参数的参数名
  • required 该参数是否必须. 默认为 true
  • defaultValue 请求参数的默认值
<a href="springmvc/testRequestParam?username=yyx&age=29">Test
RequestParam</a>
@RequestMapping(value = "/testRequestParam")
public String testRequestParam(@RequestParam(value = "username") String username,
@RequestParam(value = "age", required = false, defaultValue = "0") int age) {
// @RequestParam(value = "age", required = false) Integer age) {
System.out.println("testRequestParam,username:" + username + ",age:" + age);
return SUCCESS;
}

注意:Integer值可以为null,int存入时必须有值

   2.@PathVariable

@PathVariable 可以来映射 URL 中的占位符到目标方法的参数中.体现restful风格

<a href="springmvc/testPathVariable/1">Test PathVariable</a>
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") Integer id) {
System.out.println("testPathVariable:" + id);
return SUCCESS;
}

   3.HttpServletRequest

HttpServletRequest的getParameter(参数String)方法获取请求中的参数

<a href="springmvc/testServletAPI?userName=Tom">Test ServletAPI</a>
@RequestMapping("/testServletAPI")
public String testServletAPI(HttpServletRequest request)
throws IOException {
System.out.println(request.getParameter("userName"));
return SUCCESS;
}

注意:参数名称必须和登陆页面的name="userName"相同

   4.直接把表单的参数写在Controller相应的方法的形参中

<form action="${pageContext.request.contextPath}/springmvc/login"
method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="userName"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="userPwd"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="登陆"></td>
</tr>
</table>
</form>
/**
* 控制器中方法的形参userName,userPwd
* 名称必须和登陆页面的name="userName",name="userPwd"相同
* @param userName
* @param userPwd
* @return
*/
@RequestMapping("/login")
public String loginByUser(String userName, String userPwd) {
System.out.println("userName is:" + userName);
System.out.println("userPwd is:" + userPwd);
return "success";
}

  注意: name="userName"和String userName要一一对应,名称相同

   5.通过一个bean来接收

package com.springmvc.entity;

public class User {
private String userName;
private String userPwd; public User() {
super();
} public User(String userName, String userPwd) {
super();
this.userName = userName;
this.userPwd = userPwd;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getUserPwd() {
return userPwd;
} public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
} @Override
public String toString() {
return "User [userName=" + userName + ", userPwd=" + userPwd + "]";
} }
<form action="${pageContext.request.contextPath}/springmvc/loginPoJo"
method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="userName"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="userPwd"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="登陆"></td>
</tr>
</table>
</form>
/**
* 登陆页面的name="userName",name="userPwd"必须和Bean类的属性名称相同
* @param user
* @return
*/
@RequestMapping("/loginPoJo")
public String loginByUser(User user) {
System.out.println("userName is:" + user.getUserName());
System.out.println("userPwd is:" + user.getUserPwd());
return "success";
}

注意: name="userName"和PoJo属性要一一对应,名称相同

SpringMVC探究-----常用获取传递参数的方法的更多相关文章

  1. springMVC controller间跳转 重定向 传递参数的方法

    springMVC controller间跳转 重定向 传递参数的方法 spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参 ...

  2. (转)用JS获取地址栏参数的方法(超级简单)

    转自http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html 用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获 ...

  3. 使用jquery获取url以及jquery获取url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...

  4. 使用jquery获取url以及jquery获取url参数的方法(转)

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...

  5. 多浏览器兼容用javascript获取url参数的方法比较推荐的一种

    多浏览器兼容用javascript获取url参数的方法比较推荐的一种 <script language = javascript> function request(paras){ var ...

  6. C++向main函数传递参数的方法(实例已上传至github)

    通常情况下,我们定义的main函数都只有空形参列表: int main(){...} 然而,有时我们确实需要给mian传递实参,一种常见的情况是用户设置一组选项来确定函数所要执行的操作.例如,假定ma ...

  7. jsp中四种传递参数的方法

    jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...

  8. js获取url参数的方法

    js获取url参数的方法有很多. 1.正则分析 function getQueryString(name) { var reg = new RegExp("(^|&)" + ...

  9. Jsp传递参数的方法

    今天老师讲了jsp中四种传递参数的方法,我觉得总结一下,挺好的,以备后用! 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超 ...

随机推荐

  1. jquery基础学习之样式篇(一)

    一.安装与使用 官网下载,然后引入 <script src="js/jquery-3.3.1.js"></script>,这是生产版本,开发版本替换成min ...

  2. cookie 和 token 的理解

    HTTP协议本身是无状态的,所以需要一个标志来对用户身份进行验证 1.cookie 用户登录成功后,会在服务器存一个session,同时发送给客户端一个 cookie 数据需要客户端和服务器同时存储 ...

  3. 第二章 深入C#数据类型

    深入C#数据类型       巧记:值(无ref)+值=不变 值(无ref)+引=变     引(有ref)+值/引=变     1.值类型和引用类型 1.引用类型 源于system.object家族 ...

  4. SpringBoot-YML的用法

    SpringBoot yml 使用 SpringBoot 默认读取 application.yml|properties YML 比properties配置文件更加节约 简约(结构) 创建applic ...

  5. IGMP协议

    IGMP报文格式: 4bit的IGMP版本(1)+4bit的IGMP类型(1-2)+8bit未用+16bit检验和(同ICMP)+32bit组地址(D类IP地址) 类型为1说明是由多播路由器发出的查询 ...

  6. 【Mock】mock基础、简单的单元测试代码练习。

    说到接口测试,必问 mock,mock 通俗一点来说就是模拟接口返回.解决接口的依赖关系,主要是为了解耦,单元测试用的多. 什么是Mock unittest.mock 是一个用于在 Python 中进 ...

  7. mysql之event

    mysql之event http://blog.csdn.net/lxgwm2008/article/details/9088521 Mysql事件调度器(Event Scheduler)类似于定时器 ...

  8. Replication主要配置项

    八.Replication主要配置项(配置文件) 1.log_bin:指定binlog文件的名称,同时也表示开启binlog功能,在replication模式下,master上必须开启log_bin, ...

  9. Koala ===》编译工具 ==》Less和Sass

    官网下载网址:http://koala-app.com/index-zh.html 安装时:必须装在c盘,否则会编译报错,切记要装在c盘使用,把整体目录拖动到软件中,执行编译(success)即可 整 ...

  10. mysql 解锁

    show OPEN TABLES where In_use > 0;show processlist;show status like 'Table%';show status like '%l ...