看了网友Roy的评论,研究了一下用filter来解决Struts中文乱码的问题!
来源:互联网 发布:地图软件哪个最好 编辑:程序博客网 时间:2024/05/15 11:40
.CodeFormat {font-family:"Courier New", Courier, mono; font-size:10pt; }Roy 网友指出,用Filter处理Struts中文乱码才是王道,原文请参考这里:
Struts Hack!解决中文参数在Form Bean中的乱码问题!
filter的用法,的确是比较有扩展性的一种方法...可以通过filter结合读取web.xml中的filter参数来完成一系列的动作,做法如下:
首先,实现javax.servlet.Filter接口,编写一个处理request编码的过滤器类...
然后,需要在web.xml中注册我们的过滤器类:
这样,任何通过Struts,或是JSF的Controller Servlet处理的request,都会在过滤器中先行处理,才把控制权交还给Struts或是JSF,而且Filter中有一个Process Chain的概念,是一个很吸引人的东东~~!
Struts Hack!解决中文参数在Form Bean中的乱码问题!
filter的用法,的确是比较有扩展性的一种方法...可以通过filter结合读取web.xml中的filter参数来完成一系列的动作,做法如下:
首先,实现javax.servlet.Filter接口,编写一个处理request编码的过滤器类...
package tutorial.struts.filter;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
public class SetCharacterEncodingFilter implements Filter {
protected FilterConfig filterConfig;
protected String encodingName;
protected boolean enable;
public SetCharacterEncodingFilter() {
this.encodingName = "UTF-8";
this.enable = false;
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
loadConfigParams();
}
private void loadConfigParams() {
//encoding
this.encodingName = this.filterConfig.getInitParameter("encoding");
//filter enable flag
String strIgnoreFlag = this.filterConfig.getInitParameter("enable");
if (strIgnoreFlag.equalsIgnoreCase("true")) {
this.enable = true;
} else {
this.enable = false;
}
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(this.enable) {
request.setCharacterEncoding(this.encodingName);
}
chain.doFilter(request, response);
}
public void destroy() {
}
}
然后,需要在web.xml中注册我们的过滤器类:
<filter>
<filter-name>Set Character Encodingfilter-name>
<filter-class>tutorial.struts.filter.SetCharacterEncodingFilterfilter-class>
<init-param>
<param-name>encodingparam-name>
<param-value>UTF-8param-value>
init-param>
<init-param>
<param-name>enableparam-name>
<param-value>trueparam-value>
init-param>
filter>
<filter-mapping>
<filter-name>Set Character Encodingfilter-name>
<servlet-name>Action Servletservlet-name>
filter-mapping>
<filter-mapping>
<filter-name>Set Character Encodingfilter-name>
<servlet-name>Faces Servletservlet-name>
filter-mapping>
这样,任何通过Struts,或是JSF的Controller Servlet处理的request,都会在过滤器中先行处理,才把控制权交还给Struts或是JSF,而且Filter中有一个Process Chain的概念,是一个很吸引人的东东~~!
- 看了网友Roy的评论,研究了一下用filter来解决Struts中文乱码的问题!
- 看了网友Roy的评论,研究了一下用filter来解决Struts中文乱码的问题!
- 看了网友Roy的评论,研究了一下用filter来解决Struts中文乱码的问题!
- 看了网友Roy的评论,研究了一下用filter来解决Struts中文乱码的问题!
- 用filter来解决Struts中文乱码的问题
- JSP 用监听器Filter来解决中文乱码问题
- 终于解决了MySql5.0.22的中文乱码问题
- tomcat 8解决了GET提交的中文乱码问题
- Struts用Filter过滤器解决中文乱码
- 解决struts下的中文乱码问题
- 解决Struts的中文乱码问题
- 钱币问题(自己没做出来,代码是看别人的改动了一下)
- struts中用过滤器(Filter)解决数据库中文的问题
- Struts中利用filter解决中文乱码问题
- 早晨起来看了看流的概念,又搞出乱码了-.-! 最后解决了。
- Filter技术解决网站的所有中文乱码问题
- Filter的使用(解决中文乱码问题)
- struts2_Ajax_post_解决了中文乱码问题
- WTP On Eclipse,想说爱你不容易!
- 还是觉得WinXP中Luna的Theme是经典啊!用了Royal不多会儿就疲劳了!
- 今天公司的电脑被强制安装了Windows XP Service Pack 2,觉得没有什么太大的变化!
- 小何才露尖尖角,已有DB立上头!
- Java开源Blog实现,Roller 2.0 的安装手记!
- 看了网友Roy的评论,研究了一下用filter来解决Struts中文乱码的问题!
- 汗~~~!今天终于知道了AUS的含义了!AUS的都进来拜吧~~~!
- 晕倒,原来Java 1.5中有了可变参数和新的for each的语法了,今天才知道!
- 寒一下CSDN Blog的错误提示...!!!
- 开启log4j的记录源代码行号的配置,会对系统性能产生影响!
- 创建移动Web应用程序
- 准备迎接Firefox 1.5,把优化的参数先记下来,方便以后查找!
- 写了一个Java读取XML文件的工具类,做一下笔记!
- 今天升级了Firefox,发现华进的Blog不兼容新版的Firefox,待会儿告诉他...