只要重写 LookupDispatchAction 的getLookupMapName 方法
lookupdispatchAction 的工作过程是 如 一个get 请求为例, /xxxx.do?method=save dispatchAction会根据传来的save值,从资源文件(.properties文件)中找到值为save的键,再根据这个键, getKeyMethodMap返回的Map中找对应的 值(即我们在dispatchAction 中自定的方法的名字)
如果save是中文,当然要做相应的中文处理,
MethodAction extends org.apache.struts.actions.LookupDispatchAction {
@Override
protected String getLookupMapName(HttpServletRequest request,
String keyName, ActionMapping mapping) throws ServletException {
String p=null;
try {
p=new String(keyName.getBytes("ISO-8859-1"),"utf-8"); //假设我页面是utf-8编码的
System.out.println(p);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return super.getLookupMapName(request, p, mapping);
} }