一尘不染

如何在Struts 2中测试bean属性?

jsp

我有这样的课:

public class Foo {
    public boolean isValid() {
        return false;
    }
}

在我的JSP文件中,我想isValid在测试条件下使用该方法:

<s:bean name="com.Foo" var="bar"></s:bean>
<s:if test="%{bar.valid == false}">
    <p>hello</p>                    
</s:if>

但这不起作用。我做错什么了?


阅读 262

收藏
2020-06-10

共1个答案

一尘不染

上下文变量由引用#,但是您使用了bar没有数字符号的名称。

<s:if test="%{#bar.valid == false}">
    <p>hello</p>                    
</s:if>

查看OGNL语言指南的“ 变量引用 ”。

OGNL有一个简单的变量方案,可让您存储中间结果并再次使用它们,或者只是命名事物以使表达式更易于理解。OGNL中的所有变量对于整个表达式都是全局的。您可以在变量名称前使用数字符号来引用它,如下所示:

#var
2020-06-10