如何在Struts 2中测试bean属性



我有一个这样的类:

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>

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

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

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

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

OGNL有一个简单的变量方案,它允许您存储中间值结果并再次使用它们,或者只是命名事物来表达更容易理解。OGNL中的所有变量对整体来说都是全局的表达式。使用前面的数字符号来引用变量它的名字,像这样:

#var

最新更新