struts2获取前台提交的参数

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);
}

 

 

posted @ 2017-08-25 16:52  Marydon  阅读(1300)  评论(0编辑  收藏  举报