我在我的项目中使用struts和spring集成框架。在每次struts动作调用之前我都有一个拦截器。我需要访问我的操作名称,并使用以下代码进行操作:
actionInvocation.getProxy().getActionName();
我在struts.xml中的struts操作是:
<action name="uploadDocument" class="commonAction" method="uploadDocument">
<interceptor-ref name="sessionStack"/><interceptor-ref name="cachingStack"/>
<interceptor-ref name="basicStack"/>
<result name="success" type="stream">
<param name="contentType">text/html</param>
<param name="result">inputStream</param>
</result>
</action>
我需要访问结果标记下的参数。这可能吗?
答案 0 :(得分:1)
不确定。
您可以在ResultConfig对象like described here中读取结果配置,该对象将公开其参数的Map,如the source code所示。
类似的东西:
// Get the action configuration defined in struts.xml
ActionConfig config = invocation.getProxy().getConfig();
// Get the SUCCESS result configured for that Action
ResultConfig success = config.getResults().get("success");
// Iterate the Params, friendly printing :)
for (Map.Entry<String, String> entry : success.getParams().entrySet()) {
System.out.println("<param name=\""
+ entry.getKey()
+ "\">"
+ entry.getValue()
+ "</param>");
}