关于页面之间传参时有空格,中文及点击页面后退按钮的问题
来源:互联网 发布:linux配置bond模式1 编辑:程序博客网 时间:2024/05/16 19:15
今天心情不错,解决了一些小bug,然后要进行下小总结了。。。。。
首先说这页面间传参,有时传的参数是带有空格的比如一小部分sql语句,怎么办呢?
两种解决方案:1.当进行form表单提交时,用隐藏术 2.当页面跳转时,即href .可用java方法:java.net.URLEncoder。
第一种方法是在页面中,加个隐藏域,如加上<input type="hidden" name="SearchCondition" id="SearchCondition" value="">
然后,在进行提交之前,用document.getElementById("SearchCondition").value="ss ss";或者
$("#SearchCondition").attr("value",“ss ss”);
第二种方法:
urlEncoded = java.net.URLEncoder.encode(szSearchCondition);
然后吧,<a href="XXX.jsp?page=<%=iPage+1%>&SearchConditionSelf=<%=urlEncoded%>"
就可以了。
再说接收端:
接收端对于上述两种情况,用普通的getParameter("")就可以了。。因为虽然第二种方法用了编码,但浏览器会自动帮我们解码的。。。
但接收端还要是分情况,主要针对有没有中文的情况:
如果没有中文,或者是有中文,但原form用的post方式提交,都可以直接用getParamter方式来接收。
巧的是,有中文,原form还必须要用get方式提交,这就得进行编码转换了,注意,我说的是编码转换,不是解码。
szSearchCondition = request.getParameter("SearchCondition");
if(szSearchCondition != null){
try{
szSearchCondition = new String(szSearchCondition.getBytes("iso-8859-1"),"gb2312");
}catch(Exception e){
e.printStackTrace();
}
}
原因很简单,在浏览器上传值用的都是latin1即iso-8859-1来传的。
Over了吧。。。但你可能会问我什么一定要用get,原因是这样:
当用post时,发现页面跳转之后,再点击浏览器的后退按钮,会出现已过期的不和谐情况。。。而用get呢,就ok了。。
- 关于页面之间传参时有空格,中文及点击页面后退按钮的问题
- 防止点击浏览器后退按钮 后退页面的js
- 禁用页面缓存。目的:用户登录后退出。点击浏览器后退按钮造成的问题
- 解决登出系统清空session后,点击后退按钮显示原页面信息的问题
- jsp页面之间跳转传参及中文乱码问题
- 关于点击按钮后页面自动刷新的问题
- 浏览器返回按钮不会刷新页面解决方案---使用情景:点击浏览器左上角的后退按钮,页面需要刷新的情况
- JavaScript实现页面的后退前进按钮
- asp.net 点击浏览器后退按钮如果让页面刷新
- 点击浏览器前进后退按钮时禁止页面跳转
- 关于jsp页面之间传值的中文乱码总结
- 关于jsp页面之间传值的中文乱码总结
- 页面到后台的get传输时有关中文的转码问题
- 浏览器后退按钮刷新页面
- jsp页面后退问题
- PHP后退页面过期或不存在问题/点击刷新
- PHP后退页面过期或不存在问题/点击刷新
- js实现用户点击浏览器后退时刷新页面问题
- 盛大云主机使用体验—扣费有陷阱
- oracle 语法小结
- Teleport Ultra 垃圾代码 tppabs的清理
- android--http协议多线程断点续传下载的实现
- JAVA字符串转日期或日期转字符串(转)
- 关于页面之间传参时有空格,中文及点击页面后退按钮的问题
- 线程有关知识
- C++ 模板
- 十月下旬腾讯,网易游戏,百度盛大迅雷校园招聘笔试题集锦(10.25)
- 解读sql执行计划
- Uri、UriMatcher、ContentUris详解及3者联系使用
- 一些经典的计算机书籍
- 一些小问题
- 第七章:make的内嵌函数