﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-我的地盘我作主-文章分类-struts</title><link>http://www.blogjava.net/leedo/category/7482.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:17:53 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:17:53 GMT</pubDate><ttl>60</ttl><item><title> Simplied Struts DispatchAction</title><link>http://www.blogjava.net/leedo/articles/71005.html</link><dc:creator>阳光</dc:creator><author>阳光</author><pubDate>Thu, 21 Sep 2006 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/leedo/articles/71005.html</guid><wfw:comment>http://www.blogjava.net/leedo/comments/71005.html</wfw:comment><comments>http://www.blogjava.net/leedo/articles/71005.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leedo/comments/commentRss/71005.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leedo/services/trackbacks/71005.html</trackback:ping><description><![CDATA[
		<h3 class="post-title">Simplied Struts DispatchAction </h3>
		<div class="post-body">
				<p>
				</p>
				<div style="CLEAR: both">
				</div>Struts 的 Dispatch Action 已經行之有年了，有 Dispatch, Lookup, MappingDispatch... 好幾種可以用。但設定方法都很囉嗦 (網頁，程式，struts-config三者都要 hard-code String 在上面)，而且適用的了 A ，就不能用在 B。例如雖然 DispatchAction 可以寫在 URL 上： /foo.do?method=saveOrder ，但是遇到一個 form 需要利用多個 submit button dispatch 時，就不行了。你得轉用 LookupDispatch，可是 LookupDispatch 又需要在 Action 定義一個很醜的 getKeyMethodMap() (裡面全部是 hard-code string)。接下來要分享一個通用 URL/submit button/struts-config.xml 三者設定的 SimpleDispatchAction:<pre><br />package org.bioinfo.util.struts;<br /><br />import java.lang.reflect.InvocationTargetException;<br />import java.lang.reflect.Method;<br />import java.util.ArrayList;<br />import java.util.Enumeration;<br />import java.util.HashMap;<br />import java.util.List;<br />import java.util.Map;<br /><br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br /><br />import org.apache.struts.action.ActionForm;<br />import org.apache.struts.action.ActionForward;<br />import org.apache.struts.action.ActionMapping;<br />import org.springframework.web.struts.ActionSupport;<br />/**<br /> * 簡化的 DispatchAction，並支援Spring的 ActionSupport (如不需要可以換回 Action)<br /> * <br /> * 使用方法：<br /> * <br /> * 繼承此 class，並定義各個 action method，比方說有兩個 method 分別做儲存和刪除：<br /> * <br /> * &lt;code&gt;<br /> * public ActionForward save(ActionMapping mapping, ActionForm form,<br /> *         HttpServletRequest request, HttpServletResponse response)<br /> *         throws Exception {<br /> * // orderService.save(....) <br /> * }<br /> * <br /> * public ActionForward delete(ActionMapping mapping, ActionForm form,<br /> *         HttpServletRequest request, HttpServletResponse response)<br /> *         throws Exception {<br /> * // orderService.delete(....) <br /> * }<br /> * &lt;/code&gt;<br /> * <br /> * 有三種方式可以設定 dispatch 到哪個 method 上。<br /> * <br /> * (1) submit button 法，直接寫在 submit 的 property 上：<br /> * <br /> * &lt;code&gt;<br /> * &lt;html:form action="/some/work"&gt;<br /> *    .... some thing ....<br /> * <br /> *    &lt;html:submit property="dispatch=save" value="儲存"/&gt;<br /> *    &lt;html:submit property="dispatch=delete" value="刪除"/&gt;<br /> * &lt;/html:form&gt;<br /> * &lt;/code&gt;<br /> * <br /> * 注意 property 裡面的值是 'dispatch=xxxx' 記得要寫等號與 method 名稱，<br /> * 而且大小寫要對，不能空白。當網頁按下 "儲存" 時，則會執行 /some/work.do <br /> *  的 save(...) 的 method。 如果按下 "刪除" 則執行 delete(...)，<br /> * <br /> * 建議 -- 這種寫法通常是用在一個 Action 有多個 dispatch method，而每個 method <br /> * 都共用同個 ActionForm<br /> * <br /> * (2) URL 法，接在 URL 後面：<br /> * <br /> * &lt;code&gt;<br /> *    &lt;html:form action="/some/work?dispatch=save"&gt;<br /> *     或是用 link 也可以<br /> *    &lt;html:link action="/some/work?dispatch=save" /&gt;<br /> * &lt;/code&gt;<br /> * <br /> * 建議 -- 通常用在不需要 ActionForm 的 Action，或者是要將 submit button 法<br /> *           寫成 url 時使用。<br /> * <br /> * (3) struts-config 法，直接寫死在 parameter='dispatch=foo' 上<br /> * <br /> * &lt;code&gt;<br /> *   &lt;action <br /> *       path="/saveOrder" <br /> *       name="SaveOrderForm"<br /> *       type="antar.order.web.OrderDispatchAction"<br /> *       parameter="dispatch=save" &gt;<br /> *   &lt;/action&gt;<br /> *   &lt;action <br /> *       path="/deleteOrder" <br /> *       name="DeleteOrderForm"<br /> *       type="antar.order.web.OrderDispatchAction"<br /> *       parameter="dispatch=delete" &gt;<br /> *   &lt;/action&gt;<br /> * &lt;/code&gt;<br /> * <br /> * 建議 -- 這種寫法通常是為了讓 Action 中每個 dispatch method 使用不同<br /> * 的 ActionForm。一旦寫死在 struts-config 裡，該 mapping 的 path 就不能<br /> * 與 URL 法 或是 submit button 法同時使用。<br /> * <br /> * 最後請注意同一個 request 上，URL 法不能與 submit button 法同時使用：<br /> * <br /> * &lt;code&gt;<br /> *  ...........錯誤範例...........<br /> * &lt;html:form action="/some/work?dispatch=save"&gt;<br /> *    .... some thing ....<br /> *    &lt;html:submit property="dispatch=delete" value="刪除"/&gt;<br /> * &lt;/html:form&gt;<br /> * &lt;/code&gt;<br /> * <br /> * @author ingram<br /> *  <br /> */<br />public abstract class SimpleDispatchAction extends ActionSupport {<br /><br />    private static final String KEY_VALUE_SEPERATOR = "=";<br /><br />    private final static String KEY = "dispatch";<br /><br />    private static final String VALID_PARAMETER_NAME_PATTERN = KEY + "\\"<br />            + KEY_VALUE_SEPERATOR + "[a-zA-Z0-9_]+";<br /><br />    private Class clazz = this.getClass();<br /><br />    private Class[] argTypes = new Class[] { ActionMapping.class,<br />            ActionForm.class, HttpServletRequest.class,<br />            HttpServletResponse.class };<br /><br />    private Map dispatchMethods = new HashMap();<br /><br />    public final ActionForward execute(ActionMapping mapping, <br />            ActionForm form, HttpServletRequest request, <br />            HttpServletResponse response) throws Exception {<br /><br />        String methodName = getMethodName(request, mapping);<br /><br />        Method method = null;<br />        try {<br />            Object[] args = { mapping, form, request, response };<br />            method = obtainDispatchMethod(methodName);<br />            return (ActionForward) method.invoke(this, args);<br />        } catch (NoSuchMethodException e) {<br />            throw dealWithMethodProblem(methodName, e);<br />        } catch (IllegalAccessException e) {<br />            throw dealWithMethodProblem(methodName, e);<br />        } catch (InvocationTargetException e) {<br />            throw dealWithMethodProblem(methodName, e);<br />        }<br /><br />    }<br /><br />    private RuntimeException dealWithMethodProblem(String methodName,<br />            Exception e) {<br />        return new RuntimeException(<br />                "can not access dispatching method:["<br />                        + methodName<br />                        + "]. ", e);<br />    }<br /><br />    private Method obtainDispatchMethod(String methodName)<br />            throws NoSuchMethodException {<br />        Method method = (Method) dispatchMethods.get(methodName);<br />        if (method == null) {<br />            method = clazz.getMethod(methodName, argTypes);<br />            dispatchMethods.put(methodName, method);<br />        }<br />        return method;<br />    }<br /><br />    static String getMethodName(HttpServletRequest request,<br />            ActionMapping mapping) {<br /><br />        final List gatherAllMethodNames = new ArrayList();<br />        for (Enumeration e = request.getParameterNames(); <br />               e.hasMoreElements();) {<br />            String parameterName = (String) e.nextElement();<br />            addMatchedParameter(gatherAllMethodNames, parameterName);<br />        }<br /><br />        final String[] values = request.getParameterValues(KEY);<br />        if (values != null) {<br />            for (int i = 0; i &lt; values.length; i++) {<br />                gatherAllMethodNames.add(values[i]);<br />            }<br />        }<br /><br />        if (mapping.getParameter() != null) {<br />            addMatchedParameter(gatherAllMethodNames<br />                           , mapping.getParameter());<br />        }<br /><br />        if (gatherAllMethodNames.isEmpty()) {<br />            throw new IllegalArgumentException(<br />                    "no 'dispatch=methodName' found in parameter");<br />        } else if (gatherAllMethodNames.size() &gt; 1) {<br />            throw new IllegalArgumentException(<br />                    "\nMultiple dispatch parameter: " + gatherAllMethodNames<br />                            + " Only one parameter is allowed.");<br />        } else {<br />            return (String) gatherAllMethodNames.iterator().next();<br />        }<br />    }<br /><br />    private static void addMatchedParameter(List gatherAllMethodNames,<br />            String parameterName) {<br />        if (parameterName.matches(VALID_PARAMETER_NAME_PATTERN)) {<br />            gatherAllMethodNames<br />                    .add(parameterName.split(KEY_VALUE_SEPERATOR)[1]);<br />        }<br />    }<br />}<br /></pre>嘿嘿，有了這個統合的 Dispatch，日子就好過多啦！我也另外用同樣的邏輯寫了個 SimpleDispatchActionForm，搭配起來用不錯。</div>
<img src ="http://www.blogjava.net/leedo/aggbug/71005.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leedo/" target="_blank">阳光</a> 2006-09-21 09:59 <a href="http://www.blogjava.net/leedo/articles/71005.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>追求代码质量: 测试 Struts 遗留的应用程序</title><link>http://www.blogjava.net/leedo/articles/65315.html</link><dc:creator>阳光</dc:creator><author>阳光</author><pubDate>Wed, 23 Aug 2006 09:08:00 GMT</pubDate><guid>http://www.blogjava.net/leedo/articles/65315.html</guid><wfw:comment>http://www.blogjava.net/leedo/comments/65315.html</wfw:comment><comments>http://www.blogjava.net/leedo/articles/65315.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leedo/comments/commentRss/65315.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leedo/services/trackbacks/65315.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 追求代码质量: 测试 Struts 遗留的应用程序																						用 StrutsTestCase 和 DbUnit 保证 Struts 平稳运行																																																																																			...&nbsp;&nbsp;<a href='http://www.blogjava.net/leedo/articles/65315.html'>阅读全文</a><img src ="http://www.blogjava.net/leedo/aggbug/65315.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leedo/" target="_blank">阳光</a> 2006-08-23 17:08 <a href="http://www.blogjava.net/leedo/articles/65315.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一种Struts国际化处理的思路</title><link>http://www.blogjava.net/leedo/articles/32105.html</link><dc:creator>阳光</dc:creator><author>阳光</author><pubDate>Thu, 23 Feb 2006 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/leedo/articles/32105.html</guid><description><![CDATA[<p class="PT14" align="center"><font style="font-size: 16pt;"><b>一种Struts国际化处理的思路</b></font>
</p>
<hr>
<font style="font-size: 9pt;">
<center>作者：<font color="gray">chinaewolf</font>&nbsp; &nbsp;摘自：<a target="_blank" href="http://blog.csdn.net/chinaewolf/">chinaewolf</a>&nbsp; &nbsp;
阅读：<font color="gray">180次</font>&nbsp; &nbsp;发布：<font color="gray">2005-9-23 11:15:37</font>
 </center></font>

<br>

<p><b>一、Struts的国际化</b></p>

<p>　　Struts是一种支持国际化的MVC的Web
Framework。可是如何来使用struts国际化是一个问题。下面我们来探讨一下，如何实现Struts的国际化。Web程式的国际化涉及到3个层
面的东西。第一、jsp部分的输入/输出；第二、应用处理程序的国际化；第三、DB的国际化问题。这里主要探讨的是jsp部分的输入/输出问题。<br>
<br>
<b>二、静态部分的国际化</b></p>

<p>　　Struts的jsp页面静态内容（包括静态文字，静态图片）国际化问题，是通过资源文件来实现的。要实现国际化，需要做如下几项工作：1、定
义web.xml的动ActionServlet的参数；2、定义资源文件；3、定义JSP页面的字符集合；4、在JSP页面获取资源文件里面的内容。</p>

<p>1、定义web.xml的动ActionServlet的参数</p>

<blockquote>
	<p>&lt;servlet&gt;<br>
	&lt;servlet-name&gt;action&lt;/servlet-name&gt;<br>
	&lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt; <br>
	&lt;init-param&gt;<br>
	&lt;param-name&gt;config&lt;/param-name&gt;<br>
	&lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;<br>
	&lt;/init-param&gt;<br>
	&lt;init-param&gt;<br>
	&lt;param-name&gt;application&lt;/param-name&gt;<br>
	&lt;param-value&gt;ApplicationResources&lt;/param-value&gt; &lt;!-- 默认资源文件名 --&gt;<br>
	&lt;/init-param&gt;<br>
	&lt;load-on-startup&gt;2&lt;/load-on-startup&gt;<br>
	&lt;/servlet&gt;</p>
</blockquote>

<p>2、定义资源文件</p>

<p>　　在/WEB-INF/classes下面添加UTF-8资源束文件。每一个资源文件是“键－值”对的集合。在JSP页面里面可以通过键来找到相
应的数据值。本例子的文件名是ApplicationResources，所以相应的资源文件束是(包括e文，简体中文，繁体中文)</p>

<blockquote>
	<p>ApplicationResources.properties : 
	默认资源文件。当在其他资源文件里面找不到某个资源的时候，就使用该资源文件里面的定义。<br>
	ApplicationResources_zh_CN.properties：简体中文资源文件。<br>
	ApplicationResources_zh_TW.properties：繁体中文资源文件。</p>
</blockquote>

<p>　　资源文件的格式为：默认资源文件名_国别_语言.properties。其中每个文件都是通过%JAVA_HONE%/BIN/native2ascii.exe工具转换而来。你也可以使用其他工具来处理得到(<a target="_blank" href="http://java.sun.com/products/jilkit/">http://java.sun.com/products/jilkit/</a> 
有一个工具Internationalization Java Internationalization and Localization Toolkit 
可以处理)。下面是一个例子,我们显示如何使用%JAVA_HONE%/BIN/native2ascii.exe命令来定义资源束文件。</p>

<blockquote>
	<p>2.1 准备文件</p>
	<blockquote>
		<p>//ApplicationResources.properties ；默认资源文件，通常里面的内容是英文的。<br>
		<font color="#000080">label.username=USERNAME :<br>
		label.password=PASSWORD :</font><br>
		<br>
		//ApplicationResources_zh_CN.bak 
		；简体中文的资源文件。里面的内容是中文的。它需要工具将其中的内容处理成UTF-8<br>
		<font color="#000080">label.username=用户名 :<br>
		label.password=密 码 :</font><br>
		<br>
		//ApplicationResources_zh_TW.bak : 
		繁体中文的资源文件。里面的内容是中文的。它需要工具将其中的内容处理成UTF-8,下面的内容是繁体码。<br>
		<font color="#000080">label.username=ノめ?W :<br>
		label.password=ノめ?W :</font></p>
	</blockquote>
	<p>2.2 准备完成以后，使用如下的命令创建UTF-8资源文件束</p>
	<blockquote>
		<p><font color="#000080">native2ascii -encoding gb2312 
		ApplicationResources_zh_CN.bak ApplicationResources_zh_CN.properties<br>
		native2ascii -encoding big5 Applica tionResources_zh_TW.bak 
		ApplicationResources_zh_TW.properties</font></p>
	</blockquote>
</blockquote>

<p>3、定义JSP页面的字符集合</p>

<p>　　定义JSP页面的语言为UTF-8。在每个JSP页面，必须有如下的内容（如果使用的模板技术，则只是需要在模板页面添加，其他使用该模板的页面无需添加）</p>

<blockquote>
	<p><font color="#000080">&lt;%@ page contentType="text/html;charset=UTF-8"%&gt;</font></p>
</blockquote>

<p>4、在JSP页面获取资源文件里面的内容。</p>

<p>　　在JSP里面需要显示静态内容的地方使用&lt;bean:message /&gt;strus的bean tag包里面的message标签。例如下面的页面</p>

<blockquote>
	<p><font color="#000080">&lt;table&gt;<br>
&nbsp; &lt;tr&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align="right"&gt;&lt;bean:message key="label.username" 
	/&gt;&lt;/td&gt; <br>
&nbsp;&nbsp; &lt;/tr&gt;<br>
&nbsp;&nbsp; &lt;tr&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;td align="right"&gt;&lt;bean:message key="label.password" 
	/&gt;&lt;/td&gt;<br>
&nbsp;&nbsp; &lt;/tr&gt;<br>
	&lt;/table&gt;</font></p>
</blockquote>

<p><br>
　　好了，在这个页面显示的时候，如果客户的IE的语言集合是zh_CN的话，就会显示</p>

<blockquote>
	<p><font color="#000080">用户名：<br>
	口 令：</font></p>
</blockquote>

<p>　　如果是客户的IE的语言是zh_TW的话，就会显示</p>

<blockquote>
	<p><font color="#000080">用户名：<br>
	口&nbsp; 令：</font></p>
</blockquote>

<p>　　可以在IE的工具-&gt;Internet选项-&gt;语言的地方，来选择，定义IE的语言。</p>

<p><b>三、表单的数据的处理。</b></p>

<p>　　对于表单数据的处理，我们是通过添加一个Filter来实现的。所有提交的请求，都需要做字符处理。然后在web.xml里面定义该Filter。这样我们就不需要在程序里面做任何的字符处理。</p>

<blockquote>
	<p>3.1 定义Filter。下面是一个例子。</p>
	<blockquote>
		<p>package com.webapps.commons;<br>
		<br>
		import java.io.*;<br>
		import javax.servlet.*;<br>
		<br>
		public class CharsetEncodingFilter implements Filter<br>
		{<br>
		private FilterConfig config = null;<br>
		private String defaultEncode = "UTF-8";<br>
		<br>
		public void init(FilterConfig config) throws ServletException <br>
		{<br>
		this.config = config;<br>
		if(config.getInitParameter("Charset")!=null){<br>
		defaultEncode=config.getInitParameter("Charset");<br>
		}<br>
		}<br>
		<br>
		public void destroy() {<br>
		this.config = null;<br>
		}<br>
		<br>
		public void doFilter(ServletRequest request, ServletResponse response,<br>
		FilterChain chain) throws IOException, ServletException {<br>
		ServletRequest srequest=request;<br>
		srequest.setCharacterEncoding(defaultEncode);<br>
		chain.doFilter(srequest,response);<br>
		}<br>
		}</p>
	</blockquote>
	<p>3.2 在web.xml里面声明使用该Filter</p>
	<blockquote>
		<p>&lt;filter&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;Character Encoding&lt;/filter-name&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;filter-class&gt;com.webapps.commons.CharsetEncodingFilter&lt;/filter-class&gt;<br>
		&lt;/filter&gt;<br>
		&lt;filter-mapping&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;Character Encoding&lt;/filter-name&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br>
		&lt;/filter-mapping&gt;</p>
	</blockquote>
</blockquote>

<p><b>四、扩展</b></p>

　　待续的是应用程序部分的国际化问题，和DB的国际化问题。<img src ="http://www.blogjava.net/leedo/aggbug/32105.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leedo/" target="_blank">阳光</a> 2006-02-23 15:04 <a href="http://www.blogjava.net/leedo/articles/32105.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts中文（包括资源文件）问题解决方案(转)</title><link>http://www.blogjava.net/leedo/articles/32104.html</link><dc:creator>阳光</dc:creator><author>阳光</author><pubDate>Thu, 23 Feb 2006 07:02:00 GMT</pubDate><guid>http://www.blogjava.net/leedo/articles/32104.html</guid><wfw:comment>http://www.blogjava.net/leedo/comments/32104.html</wfw:comment><comments>http://www.blogjava.net/leedo/articles/32104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leedo/comments/commentRss/32104.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leedo/services/trackbacks/32104.html</trackback:ping><description><![CDATA[<h1 style="margin: 17pt 0cm 16.5pt;"><span lang="EN-US"><font color="#f70909" size="3">俺才学习STRUTS碰到中文问题，研究了一整天，在网上狂搜一通，整理一下成果给大家分享！不足处大家能指正，谢谢！</font></span></h1>

<h1 style="margin: 17pt 0cm 16.5pt;"><span lang="EN-US"></span><span lang="EN-US">STRUTS</span><span style="font-family: 宋体;">资源文件中文字符集问题</span></h1>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span lang="EN-US">native2ascii
-encoding GBK F:\myStruts\src\mystruts\ApplicationResources.properties
F:\myStruts\src\mystruts\ApplicationResources_zh_CN.properties</span><span style="font-family: 宋体;">将原有的资源文件转换成</span><span lang="EN-US">GBK</span><span style="font-family: 宋体;">码。并在</span><span lang="EN-US">WEB.XML</span><span style="font-family: 宋体;">文件中加入以下代码（红色部分）：</span></font></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">&lt;?xml version="1.0" encoding="GBK"?&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">&lt;!DOCTYPE
web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">&lt;web-app&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;servlet&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;servlet-name&gt;action&lt;/servlet-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;application&lt;/param-name&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;mystruts.ApplicationResources_zh_CN&lt;/param-value&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;config&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;debug&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;2&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;load-on-startup&gt;2&lt;/load-on-startup&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/servlet&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;servlet-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;servlet-name&gt;action&lt;/servlet-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/servlet-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-class&gt;filters.SetCharacterEncodingFilter&lt;/filter-class&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;encoding&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;GBK&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;ignore&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;true&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;/*&lt;/url-pattern&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Request Dumper Filter&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-class&gt;filters.RequestDumperFilter&lt;/filter-class&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;!--&lt;filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Request Dumper Filter&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Request Dumper Filter&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;/*&lt;/url-pattern&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter-mapping&gt;--&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-bean.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-bean.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-html.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-logic.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-logic.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-template.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-template.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">&lt;/web-app&gt;</font></span></p>

<h1 style="margin: 17pt 0cm 16.5pt;"><span lang="EN-US">STRUTS</span><span style="font-family: 宋体;">中文问题</span></h1>

<h2 style="margin: 13pt 0cm;"><span style="font-family: 黑体;">解决办法</span><span lang="EN-US"><font face="Arial">1</font></span><span style="font-family: 黑体;">：（未实现）</span></h2>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">jakarta-struts-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.0.2</st1:chsdate>-src\src\share\org\apache\struts\util\PropertyMessageResources.java</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="font-family: 宋体;">将第</span><span lang="EN-US">289</span><span style="font-family: 宋体;">行的：</span><span lang="EN-US">messages.put(messageKey(localeKey, key),props.getProperty(key));</span></font></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;"><font size="3">改成下面的代码：</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">String sProps = props.getProperty(key);</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">try</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">{</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">sProps = new String(sProps.getBytes("ISO-8859-1"),"GBK");</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">}</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">catch (Exception e)</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">{</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">e.printStackTrace();</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">}</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">messages.put(messageKey(localeKey, key),sProps);</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="font-family: 宋体;">编译后替换原有</span><span lang="EN-US">STRUTS.JAR</span><span style="font-family: 宋体;">中的</span><span lang="EN-US">PropertyMessageResources</span><span style="font-family: 宋体;">类。</span></font></p>

<h2 style="margin: 13pt 0cm;"><span style="font-family: 黑体;">解决办法</span><span lang="EN-US"><font face="Arial">2</font></span><span style="font-family: 黑体;">：</span></h2>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><font size="3"><span style="font-family: 宋体;">在工程中加入</span><span lang="EN-US">2</span><span style="font-family: 宋体;">个类</span><span style="color: red;" lang="EN-US">filters.RequestDumperFilter</span><span style="color: red; font-family: 宋体;">、</span><span style="color: red;" lang="EN-US">filters.SetCharacterEncodingFilter</span><span style="font-family: 宋体;">（</span><span lang="EN-US">C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\jsp-examples\WEB-INF\classes\filters</span><span style="font-family: 宋体;">），修改</span><span lang="EN-US">WEB.XML</span><span style="font-family: 宋体;">代码（红色部分）如下：</span></font></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">&lt;?xml version="1.0" encoding="GBK"?&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">&lt;!DOCTYPE
web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">&lt;web-app&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;servlet&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;servlet-name&gt;action&lt;/servlet-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;application&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;mystruts.ApplicationResources_zh_CN&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;config&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;debug&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;2&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;load-on-startup&gt;2&lt;/load-on-startup&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/servlet&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;servlet-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;servlet-name&gt;action&lt;/servlet-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/servlet-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span><span style="color: red;">&lt;filter&gt;<o:p></o:p></span></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-class&gt;filters.SetCharacterEncodingFilter&lt;/filter-class&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;encoding&lt;/param-name&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;GBK&lt;/param-value&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;ignore&lt;/param-name&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;</span>&lt;param-value&gt;true&lt;/param-value&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter-mapping&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;*.do,/*&lt;/url-pattern&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: red;" lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter-mapping&gt;<o:p></o:p></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-bean.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-bean.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-html.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-logic.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-logic.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-template.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-template.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font size="3">&lt;/web-app&gt;</font></span></p>

<h2 style="margin: 13pt 0cm;"><span style="font-family: 黑体;">解决办法</span><span lang="EN-US"><font face="Arial">3</font></span><span style="font-family: 黑体;">：</span></h2>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; text-align: left;" align="left"><span style="font-size: 10pt; font-family: 宋体;">对于处理 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Struts Framework </span><span style="font-size: 10pt; font-family: 宋体;">中文编码问题有多种方式，在此我们尝试继承 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">ActionServlet </span><span style="font-size: 10pt; font-family: 宋体;">类并覆盖 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">process </span><span style="font-size: 10pt; font-family: 宋体;">方法，于子类</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">process </span><span style="font-size: 10pt; font-family: 宋体;">方法中设定请求编码。由此展现</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">ActionServlet </span><span style="font-size: 10pt; font-family: 宋体;">扮演前端</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Controller </span><span style="font-size: 10pt; font-family: 宋体;">之特质。<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; text-align: left;" align="left"><span style="font-size: 10pt; font-family: 宋体;">首先，点击选择 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">JBuilder </span><span style="font-size: 10pt; font-family: 宋体;">主菜单 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">File | New Classes </span><span style="font-size: 10pt; font-family: 宋体;">准备产生一新的类。并继承自</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">org.apache.struts.action.ActionServlet</span><span style="font-size: 10pt; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="width: 415.5pt; height: 310.5pt;" type="#_x0000_t75"><img src="http://www.sohozu.com/Develop/ArticleImages/25/25602/CSDN_Dev_Image_2004-3-141239091.png" o:title=""></v:shape></span><span style="font-size: 10pt; font-family: 宋体;">并将预设的类名称由</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Untitled1 </span><span style="font-size: 10pt; font-family: 宋体;">改为</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">GBKActionServlet</span><span style="font-size: 10pt; font-family: 宋体;">。按下 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">OK </span><span style="font-size: 10pt; font-family: 宋体;">按钮后即产生程序代码。点击选择 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">JBuilder </span><span style="font-size: 10pt; font-family: 宋体;">主菜单</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Wizards | Override Methods… </span><span style="font-size: 10pt; font-family: 宋体;">激活覆盖方法精灵，覆盖方法精灵会自动列出父类 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">ActionServlet </span><span style="font-size: 10pt; font-family: 宋体;">所有可供覆盖之方法。您可于 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Available methods </span><span style="font-size: 10pt; font-family: 宋体;">清单方块中选取</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">process (HttpServletRequest request, HttpServletResponseresponse) </span><span style="font-size: 10pt; font-family: 宋体;">方法，完成后按下 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">OK </span><span style="font-size: 10pt; font-family: 宋体;">按钮。<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><v:shape id="_x0000_i1026" style="width: 415.5pt; height: 308.25pt;" type="#_x0000_t75"><img src="http://www.sohozu.com/Develop/ArticleImages/25/25602/CSDN_Dev_Image_2004-3-141239093.png" o:title=""></v:shape></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: 10pt; font-family: 宋体;">此时我们可修改覆盖后 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">process </span><span style="font-size: 10pt; font-family: 宋体;">方法程序代码如下：</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">request.setCharacterEncoding ("GBK") ;super.process (request, response) ;<o:p></o:p></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: 10pt; font-family: 宋体;">首行程序代码将 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">process </span><span style="font-size: 10pt; font-family: 宋体;">传入之参数 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">request </span><span style="font-size: 10pt; font-family: 宋体;">设定为 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">GBK</span><span style="font-size: 10pt; font-family: 宋体;">编码，其余行为同父类。接下来我们将要修改 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">web.xml</span><span style="font-size: 10pt; font-family: 宋体;">部署描述档，以指定 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Servlet </span><span style="font-size: 10pt; font-family: 宋体;">之进入点，首先点击选择左上方项目窗格中的 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">web.xml</span><span style="font-size: 10pt; font-family: 宋体;">。此时，左下方结构窗格将出现 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">web.xml </span><span style="font-size: 10pt; font-family: 宋体;">内 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">XML </span><span style="font-size: 10pt; font-family: 宋体;">标记之树状结构。您可以点击选择 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Servlets </span><span style="font-size: 10pt; font-family: 宋体;">内的 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Action </span><span style="font-size: 10pt; font-family: 宋体;">项目。<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><v:shape id="_x0000_i1027" style="width: 414.75pt; height: 300.75pt;" type="#_x0000_t75"><img src="http://www.sohozu.com/Develop/ArticleImages/25/25602/CSDN_Dev_Image_2004-3-141239095.png" o:title=""></v:shape></span><span style="font-size: 10pt; font-family: 宋体;">您可以按下 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Servlet class </span><span style="font-size: 10pt; font-family: 宋体;">项目右方 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">[ … ] </span><span style="font-size: 10pt; font-family: 宋体;">按钮选取新的进入点替换预设之</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">ActionServlet</span><span style="font-size: 10pt; font-family: 宋体;">，也就是之我们撰写之</span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">util.</span><span lang="EN-US"><font size="3"> </font></span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">GBKActionServlet</span><span style="font-size: 10pt; font-family: 宋体;">。倘若您非常熟悉 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">web.xml </span><span style="font-size: 10pt; font-family: 宋体;">结构，同样地可以直接点击选择内容窗格内的 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">Sources </span><span style="font-size: 10pt; font-family: 宋体;">页次，直接以文字编辑器修改 </span><span style="font-size: 10pt; font-family: Garamond;" lang="EN-US">&lt;servlet-class&gt; </span><span style="font-size: 10pt; font-family: 宋体;">标记的内容。<span lang="EN-US">web.xml</span>代码如下：<span lang="EN-US"><o:p></o:p></span></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3">&lt;!DOCTYPE
web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3">&lt;web-app&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Request Dumper Filter&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-class&gt;filters.RequestDumperFilter&lt;/filter-class&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-class&gt;filters.SetCharacterEncodingFilter&lt;/filter-class&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;encoding&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;GBK&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;/*&lt;/url-pattern&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;Request Dumper Filter&lt;/filter-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;/*&lt;/url-pattern&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/filter-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;servlet&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;servlet-name&gt;action&lt;/servlet-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span><b style=""><i style=""><span style="color: red;">&lt;servlet-class&gt;util. GBKActionServlet&lt;/servlet-class&gt;<o:p></o:p></span></i></b></font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;application&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;mystruts.ApplicationResources_zh_CN&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;config&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-name&gt;debug&lt;/param-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param-value&gt;2&lt;/param-value&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/init-param&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;load-on-startup&gt;2&lt;/load-on-startup&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/servlet&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;servlet-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;servlet-name&gt;action&lt;/servlet-name&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/servlet-mapping&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-bean.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-bean.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-html.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-logic.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-logic.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-uri&gt;/WEB-INF/struts-template.tld&lt;/taglib-uri&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;taglib-location&gt;/WEB-INF/struts-template.tld&lt;/taglib-location&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3"><span style="">&nbsp; </span>&lt;/taglib&gt;</font></span></p>

<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span lang="EN-US"><font size="3">&lt;/web-app&gt;</font></span></p>

Copyright 2003-2005 www.sohozu.com All Rights Reserved<img src ="http://www.blogjava.net/leedo/aggbug/32104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leedo/" target="_blank">阳光</a> 2006-02-23 15:02 <a href="http://www.blogjava.net/leedo/articles/32104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>