我需要从拦截器访问 struts.xml 文件中的 struts.action.extension 值。有什么建议么?
问问题
544 次
2 回答
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。
认为它可能会帮助某人。
于 2013-01-18T01:34:10.340 回答
0
感谢 Struts 用户列表中的 Musachy Barroso,我在拦截器中添加了以下内容:
/**
* @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 在同一个列表中指出的那样,这实际上并不支持,但在未来的版本中极不可能发生变化。
于 2009-05-28T14:40:33.973 回答