网站首页 > 教程文章 正文
分页查询时如果遇到以下错误:
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
请按照以下方法进行修改:
一、分页查询链接修改为按钮:
<input type="button" onclick="jumpPage('<%=keyWord%>', <%=totalPage%>)" value="最后一页" />
其中keyWord和totalPage为Servlet通过request.setAttribute()传递而来的参数。
二、加入JavaScript
<script language="JavaScript" type="text/javascript">
function jumpPage(kw, pgNum) {/*跳转到页面,并传入参数*/
var url = "pageQuery.do?keyWord=" + encodeURIComponent(kw);
url += "¤tPage=";
url += pgNum;
window.location.href=url;
}
</script>
此处关键点在于调用了JavaScript中的encodeURIComponent()函数,会把其中的某些字符将被十六进制的转义序列进行替换。
说明:
1、该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
2、其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
encodeURIComponent("你好,世界!")的结果:
%E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C%EF%BC%81
encodeURIComponent("Hello world!")的结果:
Hello%20world!
encodeURIComponent(",/?:@&=+$#")的结果:
%2C%2F%3F%3A%40%26%3D%2B%24%23
这样以来,就可以通过GET方法传递汉字了。
- 上一篇: 前端进阶-每日一练(4)
- 下一篇: JMeter主要组件介绍(一)
猜你喜欢
- 2024-12-01 Shopify模版编辑器问题排查及解决办法汇总
- 2024-12-01 JS实现防止别人通过控制台调试网站
- 2024-12-01 Web安全防范知识基础讲解
- 2024-12-01 「Shopify」屏蔽国内同行卖家访问网站
- 2024-12-01 避免网站中出现 index.html
- 2024-12-01 实现网页跳转的方法
- 2024-12-01 将 Safari 打造成 iOS 里的快速启动中心:Bookmarklet
- 2024-12-01 JMeter主要组件介绍(一)
- 2024-12-01 H5浏览器直接调起微信(url协议 weixin:// )判断是否安装微信
- 2024-12-01 前端进阶-每日一练(4)
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)