0

インターセプターから struts.xml ファイルの struts.action.extension 値にアクセスする必要があります。助言がありますか?

4

2 に答える 2

1

答えはおそらく以前のバージョンのストラットに対するものであり、私が使用しているバージョンのストラット (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 User リストの 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 に答える