Web levels in J2EE applications using the Struts framework have four keytries.
1, the web page starts at each JSP page plus <% @ page language = "java" contenttype = "text / html; charSet = GBK" PageEncoding = "GBK"%> where GBK can also be replaced with UTF-8.
2, the solution has been overwritten in the response1 solution.
3, the best solution to Request is to write a servlet filter, the code is as follows:
Package cn.com.extech.tornado;
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 ** @version * / public class setcharacterencodingfilter imports filter {
// ------------- Instance variables / ** * The default character encoding to set for reviews That pass through * this filter. * / Protected string encoding = null; / ** * The filter configuration object we are associated with If this value * is null, this filter instance is not currently configured * / protected FilterConfig filterConfig = null;..? / ** * Should a character encoding specified by the client be ignored * / protected boolean ignore = True; / ** / ** * Take this filter out of service. * / public void destroy () {this.encoding = null; this.filterconfig = null;} / ** * select and set (if specified) The character encoding to be used to * interpret request parameters for this request. * * @param request The servlet request we are processing * @param result The servlet response we are creating * @param chain The filter chain we are processing * * @exception IOException IF an input / output error @ @Exception servletexception if a servlet error ocurs * / public void Dofilter (s ervletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {// Conditionally select and set the character encoding to be used if (ignore || (request.getCharacterEncoding () == null)) {String encoding = selectEncoding (request) ; if (encoding = null!) request.setCharacterEncoding (encoding);} // Pass control on to the next filter chain.doFilter (request, response);.} / ** * Place this filter into service * * @param filterConfig THELIC VOIGURATION Object * / public void init (FilterConfig FilterConfig) THROWS servletexception {this.filterconfig = filterconfig; this.encoding =
filterConfig.getInitParameter ( "encoding"); String value = filterConfig.getInitParameter ( "ignore"); if (value == null) this.ignore = true; else if (value.equalsIgnoreCase ( "true")) this.ignore = true; else if (value.equalsIgnoreCase ( "yes")) this.ignore = true; else this.ignore = false;} / ** * Select an appropriate character encoding to be used, based on the * characteristics of the current request and / or filter initialization * parameters. If no character encoding should be set, return * * The default implementation unconditionally returns the value configured * by the encoding strong > Initialization Parameter for this * filter. * * @Param Request The servlet Request WE Are Processing * / protected; {return (this.encoding);} } Then add the configuration in web.xml: null code>. *