使用HashMap对象传递url參数有用工具类
代码例如以下:
package com.yanek.util; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set; public class HttpUtil { /**
* @param args
*/
public static void main(String[] args) { Map<String, String> paramValues = new HashMap<String, String>();
paramValues.put("b", "2");
paramValues.put("a", "1");
paramValues.put("c","3");
paramValues.put("d","4");
paramValues.put("e","5");
System.out.println("post params::::"+getParams("post",paramValues));
System.out.println("get params::::"+getParams("get",paramValues));
System.out.println("post params::::"+getParamsOrderByKey("post",paramValues));
System.out.println("get params::::"+getParamsOrderByKey("get",paramValues)); }
/**
* 得到參数列表字符串
* @param method 请求类型 get or post
* @param paramValues 參数map对象
* @return 參数列表字符串
*/
public static String getParams(String method,Map<String, String> paramValues)
{
String params="";
Set<String> key = paramValues.keySet();
String beginLetter="";
if (method.equalsIgnoreCase("get"))
{
beginLetter="? ";
} for (Iterator<String> it = key.iterator(); it.hasNext();) {
String s = (String) it.next();
if (params.equals(""))
{
params += beginLetter + s + "=" + paramValues.get(s);
}
else
{
params += "&" + s + "=" + paramValues.get(s);
}
}
return params;
} /**
* 依照key排序得到參数列表字符串
* @param method 请求类型 get or post
* @param paramValues 參数map对象
* @return 參数列表字符串
*/
public static String getParamsOrderByKey(String method,Map<String, String> paramValues)
{
String params="";
Set<String> key = paramValues.keySet();
String beginLetter="";
if (method.equalsIgnoreCase("get"))
{
beginLetter="?";
}
List<String> paramNames = new ArrayList<String>(paramValues.size());
paramNames.addAll(paramValues.keySet());
Collections.sort(paramNames);
for (String paramName : paramNames) { if (params.equals(""))
{
params += beginLetter + paramName + "=" + paramValues.get(paramName);
}
else
{
params += "&" + paramName + "=" + paramValues.get(paramName);
}
} return params;
} }
输出例如以下:
post params::::d=4&e=5&b=2&c=3&a=1
get params::::?d=4&e=5&b=2&c=3&a=1
post params::::a=1&b=2&c=3&d=4&e=5
get params::::?a=1&b=2&c=3&d=4&e=5
使用HashMap对象传递url參数有用工具类的更多相关文章
- 纯JS设置首页,增加收藏,获取URL參数,解决中文乱码
雪影工作室版权全部,转载请注明[http://blog.csdn.net/lina791211] 1.前言 纯Javascript 设置首页,增加收藏. 2.设置首页 // 设置为主页 functio ...
- 为什么pthread_cond_wait须要传递mutex參数
这是来自知乎的一个问题,由@吴志强提出,有意思的是,他看了大家的回答后,突然顿悟了,同一时候也发现有人答错了,于是乎.他自己回答了自己的问题. 我看完后.发现他分析的非常精彩,于是就记录在这.以下是他 ...
- NGINX模块开发 之 验证URL參数
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/RoyalApex/article/details/26404379 作者:邹祁峰 邮箱:Qifeng ...
- 百度URL參数解析
百度URL參数解析 在用Python爬取百度搜索的内容时,发现百度搜索的url非常的长.往往会跟一大段的參数,但事实上非常多參数都是没有必要的,如相同是搜索javakeyword,能够通过 http: ...
- Effective JavaScript Item 55 接受配置对象作为函数參数
接受配置对象作为函数參数 尽管保持函数接受的參数的顺序非常重要,可是当函数可以接受的參数达到一定数量时.也会让用户非常头疼: var alert = new Alert(100, 75, 300, 2 ...
- 【Jquery】jQuery获取URL參数的两种方法
jQuery获取URL參数的关键是获取到URL,然后对URL进行过滤处理,取出參数. location.href是取得URL.location.search是取得URL"?"之后的 ...
- java代码行数统计工具类
package com.syl.demo.test; import java.io.*; /** * java代码行数统计工具类 * Created by 孙义朗 on 2017/11/17 0017 ...
- C语言结构体及函数传递数组參数演示样例
注:makeSphere()函数返回Sphere结构体,main函数中.调用makeSphere()函数,传递的第一个參数为数组,传递的数组作为指针.
- [c++]基类对象作为函数參数(赋值兼容规则)
编程处理教师的基本情况. 要求: 1.定义一个"person"类.用来存储及处理人的姓名.性别.年龄,成员函数自定: 2.定义"teacher"类,公有继承&q ...
随机推荐
- MySQL数据库中的哈希加密
数据库安全是数据库中最为重要的环节,只有确保了数据库中数据的安全,才能够更好的发挥数据库的功能,本文将为大家介绍一种很好的数据库加密方法,即哈希加密. 导读:MySQL数据库加密的方法有很多种,不同的 ...
- 基本SQL语句练习(order by,group by,having)
一.GROUP BY 和ORDER BY 1.使用Order by 进行排序,默认升序ASC,降序则使用DESC;(还可以这样:order by 1表示按第一列排序:order by 2 desc表示 ...
- oracle之时间格式的应用
${,""," and rs.count_date >= '"+start_date+"'||' 00:00:00'")} ${,&q ...
- MacOS U盘安装
通过Mac上的App Store下载安装程序 插入U盘 启动终端 输入命令 sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/R ...
- 手动向IIS注册.net框架组件
安装.NET Framework时,会自动在IIS上注册ASP.NET,如果已经存在.NET Framework再安装的IIS,必须告诉IIS已经存在framework. 有时IIS功能缺失或异常 ...
- jQuery选择器 之详述
jQuery选择器 一. 单词小计 Pervious 上一页sibling 同级first 第一last 最后not 不 Even 偶数 odd 奇数 header 页眉 一.jQ ...
- Web ADF 编程步骤.
从Web Controls 开始(工具来中的 ArcGIS Web Controls). 访问Resource Manager. 找到待访问的 Resource. 决定 Resource支持哪个 Fu ...
- 多维背包 hrbudt 1335 算法与追MM
hrbust #include<string.h> //多进制储存数,第i位进制维back[i]+1,可以避免重复 #include<stdio.h> using namesp ...
- Js收藏-转
/** * <P> Title: JavaScript Util </P> * <P> Description: JavaScript 工具 </P> ...
- 什么叫CallBack函数,怎么用回调函数?
JQuery众多常用方法中很经常会用到回调函数, 理解好js callback函数定义及用法,我们就可以利用callback函数帮我们做很多事情啦! A callback is a function ...