在做web应用程序时,经常要用到request方法来读取页面传递过来的参数内容,这两天,发现一现象,当传递过来的参数的内容中含有#这个符号时候,程序中所读到的参数值会把#号后面的字符串全部截掉.具体例子的现象如下:
页面:form1.action=\"test.do?action=test&color=the color is #ff0000\";
当在java程序中,用String color = request.getParameter(\"color\");
读参数值时,返回来的值是:"the color is ",而不是我们所想要的:"the color is #ff0000";
经访问高手,在页面中,对传输过来的参数值加一个参数进行处理,便可取到我们所想要的结果,页面修改后的结果如下:form1.action=\"test.do?action=test&color=escape(the color is #ff0000,'GBK')\";
同时,要求在servlet中,进行这样的限制:request.setCharacterEncoding(\"GBK\");
写得太乱了点,有不清楚的,大家可多交流!
页面:form1.action=\"test.do?action=test&color=the color is #ff0000\";
当在java程序中,用String color = request.getParameter(\"color\");
读参数值时,返回来的值是:"the color is ",而不是我们所想要的:"the color is #ff0000";
经访问高手,在页面中,对传输过来的参数值加一个参数进行处理,便可取到我们所想要的结果,页面修改后的结果如下:form1.action=\"test.do?action=test&color=escape(the color is #ff0000,'GBK')\";
同时,要求在servlet中,进行这样的限制:request.setCharacterEncoding(\"GBK\");
写得太乱了点,有不清楚的,大家可多交流!