GBKRequestProcessor 的主要作用是为 Struts 添加了一个运行过滤器,对经过其的数据进行过滤转码为 GB2312
Struts 实现中文支持步骤
- 编写GBKRequestProcessor类,继承RequestProcessor。
GBKRequestProcessor类保存于 Action 包 - 重写方法 processPreprocess(),指定字符集。
package net.royakon.action;
public class GBKRequestProcessor extends RequestProcessor {
protected boolean processPreprocess(HttpServletRequest request,
HttpServletResponse response) {
try{
request.setCharacterEncoding("gb2312");
}catch(Exception ex){
ex.printStackTrace();
//如果编码设置异常则终止struts流程;
return false;
}
//返回值为true,代表继续struts后续流程.
return true;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="regForm" type="cn.net.royakon.form.RegForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="regForm"
name="regForm"
path="/regAction"
scope="request"
type="cn.net.royakon.action.RegActionAction">
<forward name="result" path="/relult.jsp" />
</action>
</action-mappings>
<!-- 配置自定义的中文处理器为主 Action 处理器 -->
<controller processorClass="cn.net.royakon.action.GBKRequestProcessor"/>
<message-resources parameter="cn.net.royakon.ApplicationResources" />
</struts-config>
Categories: 网页编程