http://javawebstudio.51.net/instance/index.htm
《Struts完全中文显示解决方案》

解决方案 »

  1.   

    to :kui(kui)  如何判断中文字符串是否已经转化过?
      

  2.   

    to sea_way(狒狒) : 关键是告我怎么加啊?光说要加有什么用!?或者给个例子也行啊。
    谢谢!
      

  3.   

    在actionl里对数据进行转码,比如:
    String temp=Encoding.getGBKString(modifyUserForm.getName());
    modifyUserForm.setName(temp);这样处理以后,返回jsp的内容就正常了。jsp页面的头设置成这样:
    <%@ page contentType="text/html;charset=GBK" language="java"%>以上提到的Encoding.getGBKString()方法如下:
    public class Encoding {
        public static String getGBKString(String inputString) {
            String outputString = new String("");
            try {
                byte[] b = inputString.getBytes("ISO-8859-1");
                outputString = new String(b,"GBK");
                b = null;
            }
            catch(Exception ex) {
                outputString = inputString;
            }
            return outputString;
        }
    }
      

  4.   

    还有一种方法,简单实用,通过struts 的actionform中的getS1方法把这句String s = new String(s1.getBytes("8859_1"), "gb2312")加进去即可
      

  5.   

    String s = new String(s1.getBytes("ISO-8859_1"), "gb2312")
      

  6.   

    在web.xml中加入
      <filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>org.apache.util.SetCharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>当然,你要加入这个类:org.apache.util.SetCharacterEncodingFilter
      

  7.   

    过滤器SetCharacterEncodingFilter.java代码如下:package emptyprj.filters;import javax.servlet.*;import java.io.IOException;public class SetCharacterEncodingFilter implements Filter {protected String encoding = null;protected FilterConfig filterConfig = null;protected boolean ignore = true;public void destroy() {this.encoding = null;this.filterConfig = null;}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)throws IOException, ServletException {if (ignore || (request.getCharacterEncoding() == null)) {String encoding = selectEncoding(request);if (encoding != null)request.setCharacterEncoding(encoding);}chain.doFilter(request, response);}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;elsethis.ignore = false;}protected String selectEncoding(ServletRequest request) {return (this.encoding);}}//EOC