现在的位置: 首页 > 综合 > 正文

ajax+struts-i18n,validate framework(2)

2013年07月19日 ⁄ 综合 ⁄ 共 2229字 ⁄ 字号 评论关闭
 

好咧,咱们先做准备工作,导入struts1.28JAR包以及相关.tld文件,web.xml上配置Struts框架的核心控制器ActionServlet!(如果你使用MyEclipse,这些工作就能够一步到位了。)完毕后,我们就来两个Servlet Filter,一个是Struts的作者Craig McClanahan写的,用来解决乱码问题,另一个是我们写的,用来做I18N应用的中英文切换:

1.SetCharacterEncodingFilter.java

package org.leno.struts.util;

 

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 Craig McClanahan

 * @version $Revision: 1.5 $ $Date: 2005/03/21 18:08:09 $

 */

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 {

              // 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);

       }

 

       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;

       }

 

       protected String selectEncoding(ServletRequest request) {

              return (this.encoding);

       }

}

2. LanguageFilter.java

package org.leno.struts.util;

 

import java.io.IOException;

import java.util.Locale;

 

import javax.servlet.*;

import javax.servlet.http.*;

import org.apache.struts.Globals;

 

public

抱歉!评论已关闭.