HttpServletRequest接收参数的几种方法

来源:互联网 发布:h动漫推荐 知乎 编辑:程序博客网 时间:2024/05/17 09:02

下面介绍一下HttpServletRequest接收参数的方法
request.getParameter(String)
request.getParameterValues(String)
request.getParameterNames()
一个一个介绍,第一种getParameter(String),这种接收参数方法用于接收单个参数或者多个参数(多个参数用英文逗号隔开),方法内传递一个String类型的参数名,请求地址如下:singleParam?param=Jack,Rose,Tom(我这个在struts2中的写法),前端代码如下:

<a href="singleParam?param=Jack,Rose,Tom">多个参数一</a><br/>

后台接收参数的代码如下:

Log log = LogFactory.getLog(Action.class);    public String singleParam(){                HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);        log.info(request.getParameter("param"));        String[] param = request.getParameter("param").split(",");        for(int i=0;i<param.length;i++){            log.info(param[i]);        }        return SUCCESS;    }

代码解释:将Action上下文获取的HTTP_REQUEST转型成HttpServletRequest,获取参数用逗号分割,隔出来的参数为String类型的数组,遍历打印日志,运行截图如下:
这里写图片描述


第二种getParameterValues(String),用于接收多个参数名相同的参数,比如:manyParam?param=Jack&param=Rose&param=Tom,参数名都叫做param,方法内传递的String类型的参数为那个一致的名称,本例中就是param,前端页面代码:

<a href="manyParam?param=Jack&param=Rose&param=Tom">多个参数二</a>

后台接收参数的代码块:

public String manyParam(){        HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);        log.info(request.getParameterValues("param"));        String[] param = request.getParameterValues("param");        for(int i=0;i<param.length;i++){            log.info(param[i]);        }        return SUCCESS;    }

运行截图如下:
这里写图片描述
注意:在这种方式下,直接打印request.getParameterValues(“param”)结果是Ljava.lang.String;@6dc1f6e8说明这个结果是一个String类型的数组。


第三种getParameterNames(),得到传递的参数名列表,返回一个Enumeration对象,遍历这个对象就可以循环得到每一个参数名。例如:paramName?param1=Apple&param2=Banana&param3=Orange,有三个参数param1,param2,param3,前台页面代码:

<a href="paramName?param1=Apple&param2=Banana&param3=Orange">多个参数 参数名</a>

后台接收参数代码:

public String paramName(){        HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);        Enumeration<String> params = request.getParameterNames();        while(params.hasMoreElements()){            log.info(params.nextElement());        }        return SUCCESS;    }

代码解释:用一个Enumeration类型的对象params来保存参数名列表,通过
request.getParameterNames()方法获取参数名列表后,遍历即可。运行截图如下:
这里写图片描述

有问题欢迎各位随时提出。。。。。。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 狗狗一直挠痒痒怎么办 手被铅笔扎了怎么办 小孩智力轻度低下该怎么办 发侮辱人的信息怎么办 宋民国表情我能怎么办 苹果手机微信弄成听筒模式怎么办 我的小可爱丢了怎么办 法斗犬老是皮肤病看也看不好怎么办 项链水晶不亮了怎么办 美甲画画手抖怎么办 微信中的表情符号不全怎么办 球球大作战找不到团战服务器怎么办 小孩的腰有点弯怎么办 小朋友不听话被老师罚站怎么办 幼儿园小朋友被老师罚站怎么办 生完小孩弯腰驼背怎么办 小孩爱捡垃圾是怎么办 腰扭了不敢弯腰怎么办 小人狗在背后骂我怎么办 微信表情缺失了怎么办 动图过大 微信 怎么办 我能怎么办图片带字 我该怎么办图片带字 学化妆找不到模特练妆怎么办? cf进房间闪退怎么办 手游cf账号封了怎么办 大门牙缺了一块怎么办 缺了一颗牙齿怎么办 CF购买医疗包竞猜币没到账怎么办 CF手游昵称不合法怎么办 微信gif尺寸过大怎么办 微信表情上限300怎么办 太受欢迎了怎么办快穿 兔宝宝沾上人气味怎么办 我该怎么办的文字图片 爱奇艺缓存视频显示下载失败怎么办 把老公惹生气了怎么办 苹果x用电量太快怎么办 小中考地生没过怎么办 如果遇到不负责的语文老师怎么办 孩子的语文老师教的不好怎么办