A simple question, as long as two steps can be.
1. At the beginning of Web.xml, add a statement on the Filter filter, specify the class
Classic COM.YOURCompany.struts.Filterencoding for filters
filter-class>
Specify the code
init-param>
filter>
Effective path
filter-mapping>
Note that the value of
2. Filter class Filterencoding writing:
Note: Implement the Javax.Servlet.Filter interface, rewrite three methods: (Init (FilterConfig FilterConfig), Dofilter (ServletRequest Request, ServletResponse Response, Filterchain Chain), Destroy ())
It is mainly to obtain the encoding to be used from the web.xml, and then set the request to the acquired encoding type. The sample code is as follows:
Package com.Yourcompany.struts;
Import java.io.ioException;
Import javax.servlet.filter;
Import javax.servlet.filterchain;
Import javax.servlet.filterconfig;
Import javax.servlet.servletException;
Import javax.servlet.servletRequest;
Import javax.servlet.servletResponse;
/ **
* @Author n-liang
*
* Todo to change the Template for this generated Type Comment Go To to
* WINDOW - Preferences - Java - Code Style - Code Templates
* /
Public class filterencoding usments filter {
Private filterconfig filterfig = null;
PRIVATE STRING ENCODING = NULL;
/ * (non-javadoc)
* @see javax.servlet.filter # init (javax.servlet.filterConfig)
* /
Public void init (filterconfig filterconfig) throws servletexception {this.filterconfig = filterconfig;
this.encoding = filterconfig.getinitParameter ("encoding");
}
/ * (non-javadoc)
* @see javax.servlet.filter # DOFILTER (javax.servlet.servletRequest, javax.servlet.servletResponse, javax.servlet.filterchain)
* /
Public void Dofilter (ServletRequest Request, ServletResponse Response, Filterchain Chain) throws ioException, servletexception {
String encoding = this.encoding;
IF (Encoding! = NULL)
{
Request.setCharacterencoding (Encoding);
}
Chain.dofilter (Request, Response);
}
/ * (non-javadoc)
* @see javax.servlet.filter # destroy ()
* /
Public void destroy () {
THIS.Encoding = NULL;
THIS.FILTERCONFIG = NULL;
}
}