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. HTML中使用JavaScript

    1.script中使用src引入外部js.注意:不能是<script />,必须是<script></script> 2.使用link引入外部js 3.使用scri ...

  2. 【POJ2774】Long Long Message (SA)

    最长公共子串...两个字符串连在一起,中间放一个特殊字符隔开.求出height之后,枚举height,看两个后缀是不是分布于两段字符串..如果是,这个值就可以作为答案.取最大值即可. ; var c, ...

  3. 请大家注意这个网站www.haogongju.net

    乱转发我的文章,求职之路(拿到百度.美团.趋势科技.华为offer),不注明出处,我把原来的博客删除了,被转载的文章还在,www.haogongju.net,你侵犯版权!!!请你自动撤销!!!

  4. linux系统——网络调试工具

    http://blog.csdn.net/chinalinuxzend/article/details/1799279 1.网络调试工具概说: 如 果我们把一台机器接入网络中,通过网络配置工具的配置这 ...

  5. Codevs 1159 最大全0子矩阵 悬线法!!!!

    1159 最大全0子矩阵 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 在一个0,1方阵中找出其中最大的全0子矩阵,所谓最大是指O ...

  6. iPhone屏幕旋转

    iPhone屏幕内容旋转 在iOS6之前的版本中,通常使用 shouldAutorotateToInterfaceOrientation 来单独控制某个UIViewController的方向,需要哪个 ...

  7. 【Vue起步-Windows】N01:环境安装

    本文基于“vue.js安装过程(npm安装)”文章内容及个人出现的问题整合而成. 1.安装npm环境 在Node官网中下载最新的windows版msi安装包,并默认所有安装选择. 2.查看npm安装版 ...

  8. 【传输文件】文件传输协议FTP、SFTP和SCP

    网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transf ...

  9. hdu 3072 有向图缩点成最小树形图计算最小权

    题意,从0点出发,遍历所有点,遍历边时候要付出代价,在一个SCC中的边不要付费.求最小费用. 有向图缩点(无需建立新图,,n<=50000,建则超时),遍历边,若不在一个SCC中,用一个数组更新 ...

  10. LeetCode OJ-- 3Sum **

    https://oj.leetcode.com/problems/3sum/ 在一个数列中,求出所有3个数之和是0的3个数. 刚开始给自己挖了坑,由于没闹清,unique()函数的含义,去掉重复不彻底 ...