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 回答