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. 《mongoDB》基本操作-创建/更新/删除文档

    一:基本操作 - db; 当前选择的集合(等于数据库名) > db demo -  use db_name; 选择你要操作的集合 > use demo switched to db dem ...

  2. linux测试环境维护之磁盘空间维护

    常见需要定期清理的日志有: 清理oracle监听日志: 1.进入/opt/oracle/db/diag/tnslsnr/sels-186/listener/alert目录下, 执行命令: rm -rf ...

  3. NMAP执行脚本smb-check-vulns.nse出错

    错误信息:NSE: failed to initialize the script engine: /usr/bin/../share/nmap/nse_main.lua:801: ‘smb-chec ...

  4. mysql 操作sql语句 目录

    mysql 操作sql语句 操作数据库 mysql 操作sql语句 操作数据表 mysql 操作sql语句 操作数据表中的内容/记录

  5. 20181211 Oracle Parallel

    如下用Select作为参考, Select 在sql server中如果直接查询大量的数据,方式为给列增加Index,可以提高效率.如果查询数据量非常大的时候其实效率依旧不高,而且index在增删改中 ...

  6. JVM内存管理(转)

    转载出处:http://blog.csdn.net/wind5shy/article/details/8349559 模型 JVM运行时数据区域 JVM执行Java程序的过程中,会使用到各种数据区域, ...

  7. centos7 下 apache nginx squid https正向代理 代理服务器

    apache yum install httpd mod_ssl -y vim /etc/httpd/conf.d/ssl.conf Listen https <VirtualHost *:&g ...

  8. 阿里云香港主机自动换IP

    为什么要写这个脚本原因你懂的,现在都是直接封IP pip3 install aliyun-python-sdk-alidns aliyun-python-sdk-domain aliyun-pytho ...

  9. 【LeetCode每天一题】Remove Nth Node From End of List(移除链表倒数第N个节点)

    Given a linked list, remove the n-th node from the end of list and return its head. Example:        ...

  10. 基于Extjs+SpringMVC+MyBatis+Oracle的B/S信息系统简化开发思路

    要在上层简化就得有下层强大的架构作为支撑,通过采用企业级的各种框架,虽然学习成本高一些,但用好了效率也自然高. 数据层简化: 首先所有表都有名称为ID的主键字段.有与表同名的序列作为自增key. 数据 ...