最近有空有时间再学习一下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; }