java - url编解码参数和读取参数

标签 java url-encoding

我成功对url参数进行了编码和解码,但是解码后如何获取参数?我将所有查询字符串编码到参数中的原因只是为了防止用户更改地址栏上的参数。

例如

页面A

  function fnlink()
    {
        param1 = encodeURIComponent("INSCODE=91&NAME=LEE&EMAIL=abc");
    url = "/home/test/test2.jsp?"+param1;

    location.href= url; 
    }

B页

网址:http://localhost:9080/home/test/test2.jsp?INSCODE%3D91%26NAME%3DLEE%26EMAIL%3Dabc

最佳答案

您不应使用 encodeURIComponent 对整个参数字符串 "INSCODE=91&NAME=LEE&EMAIL=abc" 进行编码.

每个参数应单独编码。 使用 Javascript 函数 like this在查询字符串中添加参数:

/**
* Add a URL parameter 
* @param {url}   string  url 
* @param {param} string  the key to set
* @param {value} string  value 
*/
var addParam = function(url, param, value) {
   param = encodeURIComponent(param);
   var a = document.createElement('a');
   param += (value ? "=" + encodeURIComponent(value) : ""); 
   a.href = url;
   a.search += (a.search ? "&" : "") + param;
   return a.href;
}

关于java - url编解码参数和读取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42627470/

相关文章:

java - Resteasy 设置表单 url 编码 x-www-form-urlencoded

api - 如何使用虚拟主机“/”进行RabbitMQ API调用?

html - 在 HTML href/src 属性中应编码除符号 (&) 之外的哪些其他字符?

Java,将非静态方法传递给另一个方法

java - 单表继承及关系

java - 智能双引号导致编译错误

java - 将位图资源存储在静态变量中

java - 使用键、值对实现 MaxHeap

asp.net - asp .net查询字符串编解码

c - 用换行符在 C 中编码 Url?