如题
SSH结构,用的是SPring的 编码过滤器。
所有的编码设置为GBK.但是我在Action中输出的内容,在jsp页面取出的时候是乱码,是怎么回事....谢谢。

解决方案 »

  1.   

    下面是Action中的方法:
    public ActionForward getSorts(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    int bigSortId=0;
    if(request.getParameter("bigSortId")!=null && !request.getParameter("bigSortId").equals("")){
    bigSortId=Integer.parseInt(request.getParameter("bigSortId"));
    }
    response.setContentType("text/html;chatset=UTF-8");
    List<Sort> sorts=bigSortManager.getSorts(bigSortId);
    Iterator it=sorts.iterator();
    PrintWriter out=response.getWriter();
    Sort sort=new Sort();
    while(it.hasNext()){
    sort=(Sort)it.next();
    //out.println("<option value="+sort.getId()+">"+sort.getName()+"</option>");
    out.println(sort.getId()+","+sort.getName()+"|");
    }
    return null;
    }
      

  2.   

    那个编码设置,不管设置成什么都会出现乱码
    JSP页面:
    function getSorts(){
    var bigSortId=$("#bigSort").val();
    if(bigSortId>0){
    $.get("<%=path%>/admin/bigSort.do?method=getSorts&bigSortId="+bigSortId,null,
    function(data){
    alert(data);
    var obj = document.getElementById("sort");
        
         for(var i=obj.options.length-1;i>=0;i-- ){
         obj.options.remove(i);
         }
         var ops = data.split("|");
        
         for(var i=0;i<ops.length-1;i++){
         var op=ops[i];
         var ss=op.split(",");
         var  oOption=document.createElement("OPTION");
         obj.options.add(oOption);
         oOption.innerText=ss[1];
         oOption.value=ss[0];
         }
    }
    );
    }
    }