a页面有这样一段代码: 
<% request.setAttribute("name","测试"); %>
<html:link action="/demo" paramId="username" paramName="name">url编码</html:link>
<%                  我在b页面取值:
  <%
         request.setCharacterEncoding("utf-8");
   String username=request.getParameter("username");
   %>
   
    <input type="text" value="<%=username %>"/>
   <input type="text" value="<%=URLDecoder.decode(username,"utf-8") %>"/>
  直接取和这样解码都不可以?
  我想请问<html:link>标签会自己进行url编码,是以什么格式编码的?  我如何在另一个页面取到正确的值 ,谢谢了。

解决方案 »

  1.   

    个人理解,struts的html:link标签回生成<a href=""/>这样的,应该是ISO-8859-1的编码,所以要经过处理,new String(str.getBytes("IS0-8859-1"))
      

  2.   

    这个跟你的页面上的设置有关,<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
      

  3.   

    我全部设置成了utf-8 取回的还是乱码.
    设置成iso-8859-1 还是不行,有谁用过那个能正确显示的.
      

  4.   

     String   username=new String(request.getParameter( "username ").getBytes("ISO-8859-1"));
    复杂点的加过滤器