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. Codeforces Round #364 (Div. 2) C 二分处理+求区间不同字符的个数 尺取法

    C. They Are Everywhere time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  2. 【bzoj3585】mex 线段树 mex,sg

    Description 有一个长度为n的数组{a1,a2,…,an}.m次询问,每次询问一个区间内最小没有出现过的自然数. Input 第一行n,m. 第二行为n个数. 从第三行开始,每行一个询问l, ...

  3. linux下头文件

    aio.h 异步I/Oassert.h 验证程序断言complex 复数类complex.h 复数处理cpio.h cpio归档值ctype.h 字符类型dirent.h 目录项,opendir(), ...

  4. JavaScript真的要一统江湖了

    ttp://www.newsmth.net/nForum/#!article/Python/125347?p=4 标  题: JavaScript真的要一统江湖了 发信站: 水木社区 (Fri Sep ...

  5. 实现多线程sokect

    上一篇文章说到怎样写一个最简单的Java Socket通信,但是在上一篇文章中的例子有一个问题就是Server只能接受一个Client请求,当第一个Client连接后就占据了这个位置,后 续Clien ...

  6. duilib入门简明教程 -- XML配置界面(6) (转)

    原文转自:http://www.cnblogs.com/Alberl/p/3343699.html     前面那些教程都是为了让小伙伴们从win32.MFC过渡到duilib,让大家觉得duilib ...

  7. vim中代码注释与取消的两种方法

    一.灵活应用列操作 取消注释(删除列) 1.光标定位到需要注释的第一行的行首. 2.CTRL+v 进入"可视 块"模式,选取需要注释的其他多行. 3.d 删除,注释取消.   添加 ...

  8. Linux firmware 加载【转】

    转自:http://blog.chinaunix.net/uid-22028680-id-3157922.html 1.request_firmware在内核使用,需要文件系统支持,就是说,启动的时候 ...

  9. C语言集锦(三)Direct3D和GDI+的例子

    0.前言 有些时候你可能想了解,如何用纯C语言来写Direct3D和GDI+的Demo.注意,下面的Direct3D例子不适用于TCC编译器,GDI+的例子是可以的. 1.Direct3D C语言的例 ...

  10. 倒计时器CountDownLatch与同步屏障CyclicBarrier

    CountDownLatch CountDownLatch是一个非常实用的多线程控制工具类,这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行.在这里指CountDownL ...