struts2获取前台提交的参数

本文介绍了一种在Struts2框架中封装获取前端提交参数的方法,包括获取所有参数、根据参数名获取单个参数值及多个参数值。通过自定义方法增强了Struts2处理表单数据的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

CreateTime--2017年8月25日16:30:11

Author:Marydon

struts2对获取前台提交参数的封装 

需要导入:

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext; 

方法封装

/**
 * 获取HttpServletRequest对象
 * 
 * @return HttpServletRequest
 */
public static HttpServletRequest getRequest() {
    return (HttpServletRequest) ServletActionContext.getRequest();
}

/**
 * 获取前台提交的所有参数
 * 
 * @return 有多个参数及值构成的Map
 */
public static Map getParameterMap() {
    HttpServletRequest request = getRequest();
    Map parametersMap = new HashMap();
    // 获取请求中所有的参数名称,得到一个枚举对象
    Enumeration paramters = request.getParameterNames();
    // 遍历
    while (paramters.hasMoreElements()) {
        // 获取参数名
        String name = (String) paramters.nextElement();
        // 一个参数名可能对应多个参数值
        String[] values = request.getParameterValues(name);
        String value = "";
        if (values != null) {
            for (int i = 0; i < values.length; i++) {
                // 多个参数值之间使用逗号拼接
                value += values[i] + ',';
            }
            // 去掉最后一个逗号
            value = value.substring(0, value.length() - 1);
            // value=value.replaceAll(".*([';]+|(--)+).*", " ");
        }
        // 将该参数名、参数值添加到Map中
        parametersMap.put(name, value.trim());
    }
    return parametersMap;
}

/**
 * 获取前台提交的参数:根据参数名返回对应的参数值
 * @description 适用情况:已知参数名并且对应的值只有一个
 * @param name
 *            参数名
 * @return 参数值
 */
public static String getParameter(String name) {
    HttpServletRequest request = getRequest();
    return getParameter(request, name);
}

public static String getParameter(HttpServletRequest request, String name) {
    String value = request.getParameter(name);
    // value=value.replaceAll(".*([';]+|(--)+).*", "");
    return value;
}

/**
 * 获取前台提交的参数:根据参数名返回对应的参数值
 * @description 适用情况:已知参数名并且对应的值至少两个
 * @param name
 *            参数名  
 * @return 多个参数值构成的数组
 */
public static String[] getParameterValues(String name) {
    HttpServletRequest request = getRequest();
    return getParameterValues(request, name);
}

public static String[] getParameterValues(HttpServletRequest request,
        String name) {
    return request.getParameterValues(name);
}

 

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值