最近有空有时间再学习一下Struts2框架中的validator模块。
struts2的validator xwork :
com/opensymphony/xwork2/validator/validators/default.xml 在xwork jar文件中
先要解决ActionProxy对象的 setMethod方法是在哪个环节设置进去的,找到这个操作流程之后,需要将这个设置流程替换掉,在将url中如果出现action的parameter的时候将这个参数的value设置到ActionProxy上面
默认是在 org.apache.struts2.dispatcher.mapper.DefaultActionMapper的
protected ActionMapping parseActionName(ActionMapping mapping) {
if (mapping.getName() == null) {
return mapping;
}
if (allowDynamicMethodCalls) {
// handle "name!method" convention.
String name = mapping.getName();
int exclamation = name.lastIndexOf("!");
if (exclamation != -1) {
mapping.setName(name.substring(0, exclamation));
mapping.setMethod(name.substring(exclamation + 1));
}
}
return mapping;
}