Yes, that could be done with the help of an interceptor.
+ Method One +
public class MyInterceptor implements Interceptor {
...
public String intercept(ActionInvocation invocation) throws Exception {
Map<String, ResultConfig> resultsMap = invocation.getProxy().getConfig().getResults();
return invocation.invoke();
}
...
}
+ Method Two +
public class MyInterceptor implements Interceptor {
...
public String intercept(ActionInvocation invocation) throws Exception {
invocation.addPreResultListener(new PreResultListener() {
public void beforeResult(ActionInvocation invocation, String resultCode) {
Map<String, ResultConfig> resultsMap = invocation.getProxy().getConfig().getResults();
ResultConfig finalResultConfig = resultsMap.get(resultCode);
}
});
return invocation.invoke();
}
...
}
The difference between Method One and Two is that method two gives one, the final result to be executed.