使用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 ...
随机推荐
- linux下登录出现-bash-3.2#解决办法
1:下载 安装 csh yum install csh 2:再切换即可
- 实现类似QQ的折叠效果
// 主要核心是点击自定义header来展开和收起每一组里面的cell,模型里面应该有isShow此属性来记录开展还是收起. // ViewController.m// 实现类似QQ的折叠效果/ ...
- 什么是 Terminal
从用户的角度来看,Terminal 是键盘和显示器的组合,也称为 TTY(电传打字机的缩写).键盘输入字符,显示器显示字符. 从进程的角度来看,终端是字符设备,可以通过 read.write.ioct ...
- php时间戳与时间转换
PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4) 所以存到数据库也有两种形式了(真正不止,我的应用就两种),时间戳类型我是保存为字符串的,这个是 ...
- C# 汉子增加UTF-8头
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Conv ...
- HTML5画布(阴影)
案例1: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8& ...
- php对象中类的继承性访问类型控制
类型的访问控制通过使用修饰符允许开发人员对类中成员的访问进行限制.这是PHP5的新特性,也是OOP语言中的重要特性,大多数OOP语言都已支持此特性.PHP5支持如下三种访问修饰符,在类的封装中我们已经 ...
- iOS学习之懒加载
懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,其实是重写getter方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 使用懒 ...
- 关于uC/OS的简单学习(转)
1.微内核 与Linux的首要区别是,它是一个微内核,内核所实现的功能非常简单,主要包括: 一些通用函数,如TaskCreate(),OSMutexPend(),OSQPost()等. 中断处理函数, ...
- iOS 7 二维码
维码扫描 2014-06-13 10:20:29| 分类: iOS|举报|字号 订阅 下载LOFTER客户端 // // TCTosweepScan.m // TongCheng ...