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

struts2获取前台提交的参数的更多相关文章

  1. phpStudy1——PHP文件获取html提交的参数

    示例代码: submit.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  2. struts2 获取前台表单的值?? 原理??

    struts2中,在ACTION中申明一个变量 private string 变量名:然后设置变量名 的get/set方法: 在运行的时候struts2会自动获取. 比如:jsp 页面中有个文本框&l ...

  3. js获取get方式提交的参数返回json格式数据

    /** * 获取GET提交的参数 * @return JSON格式 * @author Terry */ function getArgs(){ var args = {}; var match = ...

  4. Struts2中的链接标签 <s:url>和<s:a>---在action中获取jsp表单提交的参数(转)

    转自:http://sgl124764903.iteye.com/blog/444183 1.普通链接 Web程序中最普通的应用是链接到其他页面,下面看Welcome.jsp. <%@ page ...

  5. html跳转,获取get提交参数

    html跳转到html页面,url后面携带参数,可以通过脚本获取到url?test=value地址后的参数. 1.more.html 携带参数跳转到list.html,get提交参数 2.list.h ...

  6. SSM获取前台参数的方式

    1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交.若"Content-Type"="application/ ...

  7. SpringMVC控制器接收不了PUT提交的参数的解决方案

    摘要: SpringMVC控制器接收不了PUT提交的参数的解决方案 这次改造了下框架,把控制器的API全部REST化,不做不知道,SpringMVC的REST有各种坑让你去跳,顺利绕过它们花了我不少时 ...

  8. SpringMVC中使用bean来接收form表单提交的参数时的注意点

    这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点 ...

  9. JavaWeb_(Struts2框架)参数传递之接收参数与传递参数

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

随机推荐

  1. 【bzoj1408】[Noi2002]Robot 数论+dp

    题目描述 输入 输出 样例输入 3 2 1 3 2 5 1 样例输出 8 6 75 题解 语文题+数论+dp 花了大段讲述什么叫mu,什么叫phi,只是新定义的mu将2看作有平方因子,新定义的phi( ...

  2. ZigBee学习五 无线温度检测

    ZigBee学习五 无线温度检测 1)修改公用头文件GenericApp.h typedef union h{ uint8 TEMP[4]; struct RFRXBUF { unsigned cha ...

  3. 3973: seq

    3973: seq 题目描述 小y 的男朋友送给小y 一个数列{ai}{ai},并且刁难小y 要她维护这个序列. 具体而言,小y 的男朋友要求小y 完成两个操作: 1. 修改数列中的一个数 2. 设p ...

  4. df du 的区别

    https://blog.csdn.net/mike8825/article/details/51986405 https://www.cnblogs.com/scl1314/p/7534894.ht ...

  5. BZOJ 3876 支线剧情

    支线剧情 [故事背景] 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往都有很多的支线剧情,现在JYY想花费最 ...

  6. ASP.NET三层架构的优点和缺点

    原文发布时间为:2009-10-24 -- 来源于本人的百度文章 [由搬家工具导入] 小项目,以后变动不大的不用三层架构。 ASP.NET三层结构说明 完善的三层结构的要求是:修改表现层而不用修改逻辑 ...

  7. vim的语法高亮及配置文件说明

    本文主要针对那些刚刚入门的菜鸟,老手请自动忽略,谢谢. 一.安装vim: sudo pacman -S vim 随后根据提示输入超级用户密码即可完成安装 二.配置自己的语法高亮文件,主要是修改-/.v ...

  8. Cryptography I 学习笔记 --- 密钥交换

    1. 使用可信第三方(Trusted third parties)进行密钥交换. a. Alice与TTP之间的密钥是K1,Bob与TTP之间的密钥是K2. b. Alice向TTP发起一个与Bob交 ...

  9. Codeforces Gym101063 F.Bandejao (2016 USP-ICMC)

    F.Bandejao It is lunch time on Mars! Everyone has got that big smile on their faces, all eager to se ...

  10. 服务器出现大量close_wait,我们来说说到底是怎么回事?(以tomcat为例)

    一.问题描述 最近一直忙得很,好久没写博客.前两天,微信收到个好友申请,说是想问问close_wait的事情. 找他问了些详细信息,大概了解到,他们后端服务是tomcat 7, jdk 7,cento ...