解决Jsp搜索分页获取的中文参数乱码问题

  大致分析:首先一般通过普通表单传过来的中文参数获取不会乱码,一般乱码的中文参数都是通过链接获取到的,这种可以通过new  String(request.getParameter(name).getBytes("ISO-8859-1"),"xxx")来解决乱码,比如我的name名是search_text,编码是utf-8,就是

new String(request.getParameter(search_text).getBytes("ISO-8859-1"),"utf-8").


  做法就是通过三个判断语句来为这个参数赋值,我的代码仅供参考,代码不是很好。一是判断是否从搜索的表单传递过来,就是是否是第一次使用搜索传递过来页面,如果是直接可以获取,一般最好在之前设置一下编码(个人观点)。我的是utf-8,就以utf-8为例 。 

  代码如下:其中index.jsp是原来的网页,就是要提交表单参数的网页

    <%
    
    request.setCharacterEncoding("utf-8");  
String receive_text;
receive_text = "";   
if( request.getHeader("Referer")!=null && request.getHeader("Referer").indexOf("index.jsp") > 0){
     
receive_text = request.getParameter("search_text");//传过来的普通搜索的参数


        /*如果参数值不为空,使用trim()去掉多余的空格*/
        if(receive_text!=null)  receive_text=receive_text.trim();
       
       
%>
<%if("".equals(receive_text) | | receive_tex==null){%>
<script type="text/javascript">
alert("提交的搜索内容有误,请重新输入");
</script>
<% 
response.setHeader("refresh", "0.01;url=index.jsp"); 
return;
} //检查搜索数据合法性,如果为空便提示和跳转到原来的网页
}else if( request.getHeader("Referer")!=null){
receive_text = new String(request.getParameter("search_text").getBytes("ISO-8859-1"),"utf-8"); //解决从本页链接获取的参数乱码问题
}else{
response.sendRedirect("index.jsp");
}
%>

分页的第二页链接是 <a href = "search.jsp?pg=2&search_text=<%=receive_text %>" > 2 </a>  其中search.jsp是你这个可以实现搜索功能的网页名称,search_text是你要获取的参数name名,pg这个是你自己分页的名称。获取的的参数不乱码,这样就可以实现搜索分页的实现了。不提供实现分页和搜索内容的代码,请自行实现


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值