最近在做一个网站,当在前台用到
<a href="search.action?pageNow=<s:property value="#page.pageNow-1"/>&newsTitle=<s:property value="#session.title"/>">上一页</a>
这个通过超链接调用后台action的时候,因为newsTitle的值是中文的,所以在调用action的时候,后台获取到的newsTitle的值为????,也就是乱码,这怎么解决呢?我们呢都知道,在用超链接调用action的时候,使用的是url重定向,所以使用的是get方法,不会进行代码的解析,使用post当然可以,那就得写一个<form>,但是这样子做太麻烦了,所以下面是用js做的代码,js代码如下:
function linkClick(linkObject) {
var formObject = document.createElement('form');
document.body.appendChild(formObject);
formObject.setAttribute('method', 'post');
var url = linkObject.href;
var uri = '';
var i = url.indexOf('?');
if(i == -1) {
formObject.action = url;
} else {
formObject.action = url.substring(0, i);
}
if( i >= 0 && url.length >= i + 1) {
uri = url.substring(i + 1, url.length);
}
var sa = uri.split('&');
for(var i = 0; i < sa.length; i++) {
var isa = sa[i].split('=');
var inputObject = document.createElement('input');
inputObject.setAttribute('type', 'hidden');
inputObject.setAttribute('name', isa[0]);
inputObject.setAttribute('value', isa[1]);
formObject.appendChild(inputObject);
}
formObject.submit();
return false;
}
超链接上面写一个onclick时间即可:
<a href="search.action?pageNow=<s:property value="#page.pageNow-1"/>&newsTitle=<s:property value="#session.title"/>" onclick="return linkClick(this)">上一页</a>
上面的js的代码就是自动生成了一个<from>表单,然后又生成了隐藏域,把要传递的参数赋值给隐藏域,最后使用post方法提交,这样子就轻松解决掉了中文传递乱码的问题。
分享到:
相关推荐
另一种彻底的解决方案是重新安装SQL Server,自定义安装过程中选择合适的语言版本和排序规则,这样可以避免后续的乱码问题。 在处理与ASP和SQL Server的UTF-8编码问题时,需要注意以下几点: 1. 确保ASP页面的编码...
在Java Web开发中,使用SmartUpload组件上传附件时,可能会遇到中文文件名乱码的问题。这个问题通常涉及到字符编码的处理,特别是在不同的操作系统和Web服务器环境下。以下是对彻底解决该问题的详细解析: 首先,...
总结来说,解决JavaScript中页面跳转时的中文乱码问题,关键在于确保服务器端对于URL中的参数使用正确的编码进行解码。在Web开发中,我们通常推荐使用UTF-8作为全局字符编码,因为它是最通用的字符编码,能有效地...
在Web开发中,使用URL传递参数是一种常见的方式,但在处理中文字符时经常会出现乱码问题。由于HTTP协议本身是基于ASCII字符集,而中文字符不是ASCII字符,所以在URL中的中文字符如果不经过特殊处理就会造成乱码。...
在进行Web开发的过程中,经常会遇到页面间的跳转以及数据传递的情况。当涉及到中文等非英文...通过上述分析和解决方案,我们可以有效地解决页面间跳转传递中文参数时出现的乱码问题,提高Web应用的用户体验和稳定性。
本文将全面解析Web开发中的乱码处理方法,旨在帮助开发者彻底解决中文乱码问题。 ### 一、理解乱码产生的原因 乱码的根本原因在于编码不一致或编码转换错误。Web应用涉及多个环节,包括客户端输入、服务器处理、...
总之,解决AJAX传递数据出现乱码的问题,关键是要确保编码和解码的一致性。开发者应当注意编码函数的选择,并确保请求头中的`Content-Type`设置正确,同时要对服务器端的解码方式进行检查。这些步骤对于保证数据的...
4. **异常处理**:添加异常处理逻辑,以便于出现问题时能够及时发现并解决问题。 5. **测试验证**:进行充分的测试验证,确保在各种情况下都能正常工作。 #### 四、总结 通过上述分析和解决方案,我们可以有效地...