package com.wh.handler;
/**
* @RequestParam是传递参数的.
* @RequestParam用于将请求参数区数据映射到功能处理方法的参数上。
*
* public String queryUserName(@RequestParam String userName)
* 在url中输入:localhost:8080/?userName=zhangsan
*
* 请求中包含username参数(如/requestparam1?userName=zhang),则自动传入。
* 接下来我们看一下@RequestParam注解主要有哪些参数:
*
* value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;
* required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;
* defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式,如“#{systemProperties['java.vm.version']}”。
*/
import java.util.Arrays; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; @Controller
public class TestRequestParam { /**
* @RequestParam("userid") String id :表示将页面参数中,
* 变量名为userid的值给获取,并赋值给id,即方法中的参数名
*
* @RequestParam String id :表示将页面参数中,
* 变量名为id的值给获取,并赋值给方法中的id这个参数名
*/
@RequestMapping("/add0")
public String test1(@RequestParam String id){
System.out.println("userid: "+id);
return "sus.jsp";
} /**
* @RequestParam(value="userid",defaultValue="wh") String uid
* 表示没有将变量名为userid的进行传参,则uid为默认值wh,只要有userid变量名,
* 都会认为,进行了传参,则defaultValue无效
*/
@RequestMapping("/add1")
public String test2(@RequestParam(value="userid",defaultValue="wh") String uid){
System.out.println("userid:"+uid);
return "sus.jsp";
} /**
* @RequestParam String[] hobby
* 表示将页面中多个变量名同为hobby的值,传入到hobby参数中
*/
@RequestMapping("/add3")
public String test3(@RequestParam String[] hobby){
System.out.println("hobby:"+Arrays.toString(hobby));
return "sus.jsp";
} /**
* method=RequestMethod.POST :表示提交请求必须是post级别的方式
* 必须是add.action,且必须是post请求
*/
@RequestMapping(value="/add4",method=RequestMethod.POST)
public String test12(@RequestParam String userid){
System.out.println("userid: "+userid);
return "sus.jsp";
} /**
* ???????????????????????
* 一直未成功,@RequestParam未能接受对象参数
* 目前已知的接受对象参数的,有不加注解的对象参数,和加注解为@ModelAttribute来接受对象参数
*/
@RequestMapping(value="/add5")
public String test12(@RequestParam User user){
System.out.println("User:"+user);
return "sus.jsp";
} /**
* @RequestMapping(value="/add6",params="userid")
* params作用:
* params="uid"表示,请求方法中必须带uid这个参数变量名
* params="!uid"表示,请求方法中不能带uid这个参数变量名
* params="uid!=10"表示,请求方法中,uid的值不能为10
* params={"uid=10","uname"}表示,请求方法中uid为10,且必须有uname这个参数变量
*
* No matching handler method found for servlet request: path '/add6.action',
* method 'POST', parameters map['userid1'
*/
@RequestMapping(value="/add6",params="userid")
public String test13(@RequestParam(value="userid",defaultValue="wh") String id){
System.out.println("userid: "+id);
return "sus.jsp";
} /**
* @RequestParam(value="userid",required=false)
* required=false表示请求方法中不一定有参数变量名为userid的这个变量
*/
@RequestMapping(value="/add7")
public String test7(@RequestParam(value="userid",defaultValue="wh",required=false) String id){
System.out.println("userid: "+id);
return "sus.jsp";
} }

  

数据传递-------@RequestParam的更多相关文章

  1. 《Java从入门到放弃》入门篇:springMVC数据传递

    springMVC中的数据传递方式与JSP和Struts2相比,更加的简单.具体有什么样的区别呢?我们通过下面这张图来对比就知道了. 随手画的,有些错别字,不用太在意..... 接下来,进入正题,sp ...

  2. SpringMVC之数据传递一

    之前的博客中也说了,mvc中数据传递是最主要的一部分,从url到Controller.从view到Controller.Controller到view以及Controller之间的数据传递.今天主要学 ...

  3. EXTJS中grid的数据特殊显示,不同窗口的数据传递

    //EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { v ...

  4. Activity系列讲解---数据传递

    在Android中,不同的Activity实例可能运行在一个进程中,也可能运行在不同的进程中.因此需要一种特别的机制帮助我们在Activity之间传递消息.Android中通过Intent对象来表示一 ...

  5. vue2.0 组件之间的数据传递

    组件间的数据传递// 父组件<template><div class="order"><dialog-addpro v-on:closedialog= ...

  6. ASP.NET MVC3中Controller与View之间的数据传递总结

    一.  Controller向View传递数据 1.       使用ViewData传递数据 我们在Controller中定义如下: ViewData["Message_ViewData& ...

  7. ASP.NET MVC3中Controller与View之间的数据传递

    在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: 一.  Controller向Vie ...

  8. 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

    通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容.本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MV ...

  9. MVC数据传递

    一.数据传递 1.ViewData[]: 用法:action中:ViewData["key"]="aaa";,V层接收ViewData["key&qu ...

随机推荐

  1. 【CodeChef】KNGHTMOV(方案数DP)

    题意: 考虑一张无限大的方格棋盘.我们有一个“骑士”,它必须从(0,0)格开始,按照如下规则,移动至(X,Y)格:每一步,它只能从(u,v)格移动至(u+Ax,v+Ay)或者(u+Bx,v+By).注 ...

  2. 「CodePlus 2017 11 月赛」大吉大利,晚上吃鸡!

    n<=50000,m<=50000的图,给s和t,问有多少点对$(a,b)$满足 嗯. 不会. 首先最短路DAG造出来,然后两个条件转述一下:条件一,$N_a$表示从s到t经过a的路径,$ ...

  3. js格式化日期时间

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).周(E).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1 ...

  4. springboot-jjwt HS256加解密(PS:验证就是解密)

    最近项目需要用到类似access token进行加解密.验签的需求,本人在此做个小笔记记录一下,以供他人参考. 一共会用到2中加解密,HS256 和 RS256,本文只是对 HS256做个备注,好了直 ...

  5. Linux系统备份还原工具3(使用Clonezilla/再生龙对硬盘进行镜像和克隆,类似于Ghost)

    说明:经过实验验证,再生龙主要是适合在本机还原原大小的分区,不适合将镜像备份还原到不同大小分区,期间可能有很多莫名奇妙的问题出现.硬盘对拷和PXE网刻这些没发现什么不好.如果要还原到别的电脑镜像制作时 ...

  6. MongoDB小结23 - 索引简介

    MongoDB中的索引,可以看作是书的目录. 想象一下给你一本没有目录的书,然后让你去查询指定内容,我只想说,我不是电脑,我很蛋疼! 让你翻没有目录的书,就跟让电脑查询没有索引的集合一样,从头查询到尾 ...

  7. 使用百度网盘实现自动备份VPS

    http://ju.outofmemory.cn/entry/51536 经过轰轰烈烈的一轮网盘大战,百度网盘的容量已经接近无限(比如我的是3000多G ),而且百度网盘已经开放API,所以用来备份V ...

  8. Django学习系列之Cookie、Session

    Cookie和Session介绍 cookie 保存在客户端 session 保存在服务端 session依赖于cookie,比如服务端想往客户端写东西的时候就把cookie写到客户端浏览器 djan ...

  9. 卷积神经网络-进化史】从LeNet到AlexNet

    目录视图 摘要视图 订阅 [置顶] [卷积神经网络-进化史]从LeNet到AlexNet 标签: cnn 卷积神经网络 深度学习 2016年05月17日 23:20:3046038人阅读 评论(4)  ...

  10. HTTPie: a CLI, cURL-like tool for humans

    HTTPie github HTTPie 是用 Python 编写,用到了 Requests 和 Pygments 这些出色的库. 主要特性: 直观的语法 格式化和色彩化的终端输出 内置 JSON 支 ...