你如何在struts2拦截器中获得struts.action.extension的值?

时间:2009-05-28 13:14:01

标签: java struts2 interceptor

我需要从拦截器访问struts.xml文件中的struts.action.extension值。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我意识到答案可能是以前版本的struts,它在我正在使用的struts版本中不起作用(struts v2.2)。以下确实有效......

final ActionContext context = actionInvocation.getInvocationContext();    
com.opensymphony.xwork2.util.ValueStack vs=context.getValueStack();
((ActionMapping)vs.getContext().get("struts.actionMapping")).getExtension();

...其中ActionMapping是org.apache.struts2.dispatcher.mapper.ActionMapping。

认为这可能对某人有帮助。

答案 1 :(得分:0)

感谢Musachy Barroso关于Struts用户列表,我在拦截器中添加了以下内容:

/**
 * @param strutsActionExtension the strutsActionExtension to set
 */
@Inject(StrutsConstants.STRUTS_ACTION_EXTENSION) //Note this isn't necessarily supported
public void setStrutsActionExtension(String strutsActionExtension) {
    this.strutsActionExtension = strutsActionExtension;
}
Wes Wannemacher在同一个清单上注意到,这实际上没有得到支持,但在未来的版本中极不可能改变。