在第二个页面中写
request.setCharacterEncoding("GB2312");
request.setCharacterEncoding("GB2312");
解决方案 »
- 高手帮我看看这个什么错!谢谢
- 为灾区祈祷。。。
- myeclipse配置hibernate的时候用jdbc driver为什么只有myeclipse的derby啊?
- appfuse中生成以S结尾的数据表对应的代码出错,有谁有解决的办法或相关的信息吗?
- hibernate关于多对多关系的关联表中的插入问题
- 求助:如何建立一个jdbc连接工厂?
- 在tomcat下,我配置了servlet和jdom的环境,可是运行不起来,请大家帮我看看分析分析?急!!!!!!!!!!!!!!
- JBuilder中开发EJB
- 问一个关于doFilter的小白问题。。。。。
- 线程捕获异常return问题
- 那位知道在eclipse里如何调整字号大小,谢谢。
- 谁能详细说说 struts 啊?最好是中文的
new String(request.getParameter("name").getBytes(),"GBK");
第二个参数GBK可省,因为系统的默认编码可能是GBK。
固然可以,但是如果表单的内容很多,难道每个都要转换吗?struts中的formbean 是作为参数传入到perform( )方法中,formbean中的内容应该不会变吧!比如:form.setName("某某");那么form中的name值应该一直是"某某",怎么在第二个页面中form.getName() 取到的值却变成了????
把String[]传给javaBean,再在javaBean中取出来。再拿String[]中的元素来用。连解码都可以省了。:P好方法吧。:)
在Filter中调用one_bird(一鸟)谈到的
request.setCharacterEncoding("GB2312");
把ActionForm设置为session范围,并指定存储在session中的属性名称,
需要数据时,利用该session中存储的对象来得到就可以。
在Filter中调用one_bird(一鸟)谈到的request.setCharacterEncoding("GB2312");
在Filter中调用one_bird(一鸟)谈到的request.setCharacterEncoding("GB2312");
使用过滤器也很简单,对所有的请求输入先进行必要的处理。
问题还是没有解决!
"
这个疑问的结果是 传递的过程中 formbean中的内容改变了.举一个例子:
1.jsp中的AForm中的name值为"天津"
2.jsp中的AForm中的name值为"?ì?ò"
看来,AForm中的name值按照iso8859_1编码的!
进一步调试:第一页的AForm中的name的确是"天津",当点击下一步时,将进入第二个页面,发现 AForm中先是执行public void Name(String name) 这个时候name的值已经是"?ì?ò" ,然后执行 public String getName() name的值当然还是"?ì?ò";
我对此过程的理解是struts先把传递过来的name参数保存到formbean中,然后再取出name,放到jsp页面中显示!看来,得改struts的原代码了!
name=new String(s.getByte("iso8859-1"),"gb2312");明白了?!终于完成了!
比如说在Action中对FormBean进行初始化,会有新的乱码问题。为什么不试试Filter的解决方法呢。