diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java b/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java index 3058b032c..b92e420a6 100644 --- a/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java +++ b/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java @@ -109,13 +109,17 @@ public class ActionConfigMatcher extends AbstractMatcher implement */ @Override public ActionConfig convert(String path, ActionConfig orig, Map vars) { - - String className = convertParam(orig.getClassName(), vars); + String methodName = convertParam(orig.getMethodName(), vars); + if (!orig.isAllowedMethod(methodName)) { + return null; + } + + String className = convertParam(orig.getClassName(), vars); String pkgName = convertParam(orig.getPackageName(), vars); - + Map params = replaceParameters(orig.getParams(), vars); - + Map results = new LinkedHashMap(); for (String name : orig.getResults().keySet()) { ResultConfig result = orig.getResults().get(name); @@ -125,7 +129,7 @@ public class ActionConfigMatcher extends AbstractMatcher implement .build(); results.put(name, r); } - + List exs = new ArrayList(); for (ExceptionMappingConfig ex : orig.getExceptionMappings()) { String name = convertParam(ex.getName(), vars); @@ -135,7 +139,7 @@ public class ActionConfigMatcher extends AbstractMatcher implement ExceptionMappingConfig e = new ExceptionMappingConfig.Builder(name, exClassName, exResult).addParams(exParams).build(); exs.add(e); } - + return new ActionConfig.Builder(pkgName, orig.getName(), className) .methodName(methodName) .addParams(params)