1

OGNLを使用してアクションメソッドを呼び出す方法は?

helloAction.java

public String getQuote()
{
    return "Don't think, just do";
}

success.jsp

<b>quote() :</b> <s:property value="quote()"/> <br>

struts.xml

<action name="greet" class="com.struts2.helloAction" >
    <interceptor-ref name="firewallStack"></interceptor-ref>
    <result name="SUCCESS">/WEB-INF/resources/success.jsp</result>
    <result name="input">/WEB-INF/resources/success.jsp</result>
</action>

struts 2 OGNLから参照リンクを取得しました

このquote()メソッドは呼び出されません。私は xwork-2.0.1.jar と ognl-2.6.11.jar を使用しています。

4

2 に答える 2

4

元の構文はほぼ正しいです。括弧を省略してください。

<s:property value="%{quote}" />

JavaBean の競合は、明示的なメソッド呼び出しよりも汎用的です。たとえば、JSP EL を使用します。

${quote}

関数が引数を取らない場合は、JavaBean 規則が優先されます。

于 2013-10-07T19:30:43.467 に答える
0

この quote() メソッドは呼び出されません。私は xwork-2.0.1.jar と ognl-2.6.11.jar を使用しています。

アクションにそのメソッドがありません。作成する場合:

public String quote() {

通常の OGNL メソッド呼び出し構文を使用します。

<s:property value="%{quote()}" />

その後、必要に応じて呼び出されます。

詳細情報と構文については、OGNL 言語ガイドを参照してください。

于 2013-10-07T18:36:59.703 に答える