HttpServletRequest接收参数的几种方法

下面介绍一下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()方法获取参数名列表后,遍历即可。运行截图如下:
这里写图片描述

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


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值