解决乱码问题,网上已经有很多种方法了。
我来介绍一下,我自己尝试过,且成功的方法。
页面:
<form action="searchAction" id=simform class="form-inline" method="post">
<div class="input-group"><span>商品搜索:</span></div>
<!-- 。。。。。。。。。。。。。。 -->
<div class="form-group" style="width:380px">
<div class="input-group">
<span class="input-group-addon" id="basic-addon3">关键字【商品名称】</span>
<input type="text" class="form-control" id="namekey" name="namekey">
</div>
</div>
<input type="submit" class="btn btn-primary" style="margin: auto 10px auto 10px;" value="查询">
</form>
<!-- 。。。。。。。。。。。 -->
<a id="redirectURL" href="productAction?pagenum=${pageModel.pageNum+1 }&namekey=${namekey}" >下一页</a>
<!-- 。。。。。。。。。。。 -->
<input type="hidden" id="nam" name="nam" value="${namekey }" >
jquery:
function encodeInto(){
//解码 部分
var nameky=$("#nam").val();
//alert(nameky);
nameky = decodeURI(nameky);
$("#namekey").val(nameky);
//编码部分
var href=$("#redirectURL").attr("href");
//alert(href);
href = encodeURI(encodeURI(href));
$("#redirectURL").attr("href",href);
}
【注意】编码两次
后台:
System.out.println( " ,name:" + namekey);
if(namekey!=null && !namekey.isEmpty()){
namekey = java.net.URLDecoder.decode(namekey,"UTF-8");
}
System.out.println( ",namekey:"+namekey);
jquery还有一部分是解码的,
没有这部分,namekey重新返回到页面还是乱码,所以重新解码回来