<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="com.xunpoit.erp.entity.*,com.xunpoit.erp.manager.ClientManager,java.util.*"%>
<%@ page import="java.net.URLEncoder" %>
<%
  int currentPage=1;
  int pageSize=3;
    
  String currentPageStr=request.getParameter("currentPage");
  String indexStr = request.getParameter("index");
  int index = 0;
  if(null!=indexStr&&!"".equals(indexStr)){
  index=Integer.parseInt(indexStr);
  }
  if(currentPageStr !=null)
  {
  currentPage=Integer.parseInt(currentPageStr);
  }
  String paramStr = (request.getParameter("aimClientIdOrName")==null)?"":request.getParameter("aimClientIdOrName");
    
  paramStr= URLEncoder.encode(paramStr,"UTF-8");
    
  PageModel<AimClient> pageModel =ClientManager.getInstance().queryAllAimClient(currentPage,pageSize,paramStr);
 %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>请选择需方客户</title>
<link rel="stylesheet" href="../style/erp.css">
<script src="../script/client_validate.js"></script>
<script type="text/javascript">
function topPage() {
window.self.location="aim_client_select.jsp?currentPage=1&index=<%=index%>&aimClientIdOrName=<%=paramStr%>"
}function previousPage() {
window.self.location="aim_client_select.jsp?currentPage=<%=pageModel.getPreviousPage()%>&index=<%=index%>&aimClientIdOrName=<%=paramStr%>";
} function nextPage() {
window.self.location="aim_client_select.jsp?currentPage=<%=pageModel.getNextPage()%>&index=<%=index%>&aimClientIdOrName=<%=paramStr%>";
}function bottomPage() {
window.self.location="aim_client_select.jsp?currentPage=<%=pageModel.getPageCount()%>&index=<%=index%>&aimClientIdOrName=<%=paramStr%>";
}
那个aimClientIdOrName是从文本框输入的值,但当我用paramStr获取之后总是乱码,后来我自己改成 paramStr= URLEncoder.encode(paramStr,"UTF-8");
它就显示%E6%AD%A6%E6%B1%89,不知道怎么办了,请高手指点

解决方案 »

  1.   

    处理方法一。
    js 程序代码:url=encodeURI(url);注意是整个URL
    服务器端的代码:String linename = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
    处理方法二。
    js:var url="name="+name;
    url=encodeURI(encodeURI(url)); //用了2次encodeURI
    window.location = "<%=path%>/inner/line/line.jsp?"+url;
    服务器端的代码:
    String linename = request.getParameter(name);
    //java : 字符解码
    linename = java.net.URLDecoder.decode(linename , "UTF-8");