struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antonius Ng <anton...@gmail.com>
Subject DefaultActionInvocation invokeAction
Date Fri, 25 Sep 2009 02:25:47 GMT
Hi all,

The following code is extracted from xwork source
DefaultActionInvocation.java and rest-plugin RestActionInvocation.java:

protected String invokeAction(Object action, ActionConfig actionConfig)
throws Exception {
        String methodName = proxy.getMethod();

        if (LOG.isDebugEnabled()) {
            LOG.debug("Executing action method = " +
actionConfig.getMethodName());
        }
...
 method = getAction().getClass().getMethod(methodName, new Class[0]);
...

Is there any reason why the log is debugging actionConfig.getMethodName()
while the one being used is from proxy.getMethod()? I don't see anywhere in
the code where actionConfig.getMethodName() is being used.

The reason I am asking this is also because I found out that:
1. for actions written in struts.xml <action> tag,
actionConfig.getMethodName() returns the method of the action as specified
in struts.xml
2. for controllers autoconfigured by rest-plugin,
actionConfig.getMethodName() returns null
3. I can have both controllers and actions defined with <action> tag working
together, with the following simple changes:
protected String invokeAction(Object action, ActionConfig actionConfig)
throws Exception {
        String methodName =
(actionConfig.getMethodName()==null)?proxy.getMethod():actionConfig.getMethodName();

Thanks in advance.

Regards,
Anton

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message