各位师傅,我现在弄一个用JSP做的Music网站 但是在连接传递中文值的时候传不过来,请帮帮忙!A.jsp 中的连接写法:
<a href="Singer/ChSinger.jsp"?type=<%=java.net.URLEncoder.encode("大陆")%>">B.jsp 中的接受写法:<%request.setCharacterEncoding("GB18030"); %>
<%myBean.settxtaraddress(request.getParameter(type)); %>但是我的IDE老是提示type出错,无法识别,怎么解决!!!!!

解决方案 »

  1.   

    像这种参数的传递为什么非要用中文呢!虽然前台显示是中文,你可以通过value来变通一下!
    <%=java.net.URLEncoder.encode("大陆", "UTF-8 ")%>
    把页面等的编码全部给成UTF-8,开发中都是这样的
      

  2.   


    <%request.setCharacterEncoding("GB2312"); %> 
    <%myBean.settxtaraddress(new String(request.getParameter(type).getBytes("iso8859-1"),"gb2312")); %> 
      

  3.   

    <a href="Singer/ChSinger.jsp"?type= <%=java.net.URLEncoder.encode("大陆")%>"> 
    应该改为<a href="Singer/ChSinger.jsp?type“= <%=java.net.URLEncoder.encode("大陆")%>> 
      

  4.   

    页面编码全设置为gb2312
    <a href="Singer/ChSinger.jsp?type=大陆"> <%myBean.settxtaraddress(new String(request.getParameter(type).getBytes("iso8859-1"),"gb2312")); %> 
      

  5.   

    超链接参数传递方式略有不同,若只采用以上设定,遇中文参数,因编码不同,会导致部分文字信息丢失,所以在提交前务必进行编码。 
    <a   href= "/test/index.jsp?param=<%=java.net.URLEncoder.encode("大陆", "UTF-8 ")%> ">fasdjfsd</a> 
    由java.net.URLEncoder.encode   函数将要发送的变量解析为16进制数字编码,进行URL传递,接收代码如下: 
    <%String   str   =   request.getParameter   ( "传递的参数名 ");%> 
    由此,获得参数后的str内将是正确的中文信息。 
      

  6.   

    我用了你们的方法,好像那个type还是报错提示为:type cannot be resolved ;
      

  7.   

    那你把type加上双引号引起来,你报的那个错误是说type为定义不能被解析
    <%myBean.settxtaraddress(request.getParameter("type")); %> 
      

  8.   

    <%myBean.settxtaraddress(request.getParameter("type")); %> 
      

  9.   

    <%myBean.settxtaraddress(request.getParameter("type")); %> 
    好像可以了!!
      

  10.   

    但是<%myBean.settxtaraddress(request.getParameter("type")); %> 这样 我的Bean接受不到传来值,断点检查出txtaraddress为NULL
      

  11.   

    首先你应该确定你的myBean的实例化的,也就是new 出来的,只有这样才能调用get set方法,然后你打印一下request.getParameter("type")的值是什么应该是没有问题的,即使是乱码也不能为空啊!这都是代码级的问题了,自己静下心来好好检查一下
      

  12.   

    程序员在深圳java群 4247660 欢迎高手的加入
      

  13.   

    解决办法:在tomcat的conf下的server.xml加入红色的代码! <Connector port="8080" maxHttpHeaderSize="8192" 
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
                   enableLookups="false" redirectPort="8443" acceptCount="100" 
                   connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='gb2312'/>