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); }
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/7428805.html