zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    第009讲:了不起的分支和循环3
    Term_Application
    十大编程算法助程序员走上高手之路
    每天工作4小时的程序员
    编程真相_节选
    Sublime_Snippet
    VIM资源管理
    微信企业号开发资源整理
    vitruviano
    VIM_git
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/7428805.html
Copyright © 2011-2022 走看看