如何使用 java 对从 javascript 到 servletpage 的查询字符串进行编码和解码?

Posted

技术标签:

【中文标题】如何使用 java 对从 javascript 到 servletpage 的查询字符串进行编码和解码?【英文标题】:How to encode and decode query string from javascript to servletpage using java? 【发布时间】:2017-03-18 08:47:39 【问题描述】:

如何编码和解码从 javascript 到 servletpage 的查询字符串

Javascript

var page=http://localhost/jsp/index.jsp?pname=jack & sparrow&price=$20&rate=10 - 20%

$('#listContent').load(page);

我收到 404 错误

var page=http://localhost/jsp/index.jsp?pname=titanic&price=10&rate=12

$('#listContent').load(page);

这个很好用

如果查询字符串包含空格和特殊符号如何传递

如何编码以及如何传递这个查询字符串

如果是编码的如何在servlet页面中解码

我的预期输出为 字符串 pname=request.getParameter("pname") 字符串价格=request.getParameter("价格") String rate=request.getParameter("rate")

pname=jack & sparrow
price=$20
rate=10 - 20%

【问题讨论】:

encodeURIComponent @vlaz 如何在java脚本中使用 【参考方案1】:

在 Javascript 方面,您必须使用函数 encodeURIComponent(yourString) 对其进行编码

如果你想在 Java 端解码这样的字符串,你可以使用(例如)new java.net.URI(receivedString).getPath()

【讨论】:

var page=encodeURIComponent(localhost/jsp/index.jsp?pname=jack & sparrow&price=$20&rate=10 - 20%); $('#listContent').load(page); String pname=request.getParameter("pname").toString 我可以得到这个 pname 作为 - jack & sparrow 给我一个正确的输出你会看到我的查询字符串有多个参数我希望每个参数按参数计

以上是关于如何使用 java 对从 javascript 到 servletpage 的查询字符串进行编码和解码?的主要内容,如果未能解决你的问题,请参考以下文章

我们如何使用 SQoop 对从 RDBMS 迁移到 HDFS 的数据进行测试?

如何对从 AJAX 请求中获取的响应进行排序并将它们作为 <option> 映射到 <select> 标记?

当我们压缩到视图时,如何对从控制器获取的 JSON 数组中的数据求和(Laravel)

如何对从包含异步的函数返回的值使用 List.sort?

如何使用 Select2.js 对从 Ajax 调用返回的数据进行多选结果?

如何对从 AWS OpsWorks 部署的应用程序拥有组可写文件权限?