2009-05-28 98 views

回答

0

由于Musachy巴罗佐在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; 
} 

为韦斯Wannemacher指出这in't实际支持同一名单上,但绝对不太可能改变未来版本。

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。

认为它可能有助于某人。

+0

除了使用字符串“struts.actionMapping”,您还可以使用常量“ServletActionContext.ACTION_MAPPING”,以防他们决定在将来的版本中更改其值。 – rveach 2015-12-08 21:01:10