Java 表达式语言,if-then-else中的组合条件

Java 表达式语言,if-then-else中的组合条件,java,xpages,el,Java,Xpages,El,我想用表达式语言为if-then-else语句声明一个组合条件 不幸的是,我的代码失败了 ((compositeData.data.phone eq null) and (compositeData.data.mail eq null) and (compositeData.data.linkP eq null)) ? false : true 在我看来,您的代码应该可以工作。我已经测试过了,没有任何问题 请看下面的代码片段 自定义控件: <?xml version="1.0" enco

我想用表达式语言为if-then-else语句声明一个组合条件

不幸的是,我的代码失败了

((compositeData.data.phone eq null) and (compositeData.data.mail eq null) and (compositeData.data.linkP eq null)) ? false : true

在我看来,您的代码应该可以工作。我已经测试过了,没有任何问题

请看下面的代码片段

自定义控件:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

    <xp:br></xp:br>
    SHOW PHONE: 
    <xp:text escape="true" id="computedField3" value="#{compositeData.data.phone}"></xp:text>
    <xp:br></xp:br>
    <xp:br></xp:br>
    SHOW MAIL:
    <xp:text escape="true" id="computedField2" value="#{compositeData.data.mail}"></xp:text>

    <xp:br></xp:br>
    <xp:br></xp:br>
    <xp:text escape="true" id="computedField1" value="SIMPLE TEXT" style="color:rgb(255,0,0);font-size:24pt"
        rendered="#{((compositeData.data.phone eq null) and (compositeData.data.mail eq null)) ? false : true}">
    </xp:text>

</xp:view>
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom">

    <xc:customControl>
        <xc:this.data>
            <xc:data mail="test@testmail.com"></xc:data>
        </xc:this.data>
    </xc:customControl>

</xp:view>
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom">

    <xc:customControl>
    </xc:customControl>

</xp:view>

显示电话:
显示邮件:

XPAGE(第一个场景设置compositeData.mail):

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

    <xp:br></xp:br>
    SHOW PHONE: 
    <xp:text escape="true" id="computedField3" value="#{compositeData.data.phone}"></xp:text>
    <xp:br></xp:br>
    <xp:br></xp:br>
    SHOW MAIL:
    <xp:text escape="true" id="computedField2" value="#{compositeData.data.mail}"></xp:text>

    <xp:br></xp:br>
    <xp:br></xp:br>
    <xp:text escape="true" id="computedField1" value="SIMPLE TEXT" style="color:rgb(255,0,0);font-size:24pt"
        rendered="#{((compositeData.data.phone eq null) and (compositeData.data.mail eq null)) ? false : true}">
    </xp:text>

</xp:view>
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom">

    <xc:customControl>
        <xc:this.data>
            <xc:data mail="test@testmail.com"></xc:data>
        </xc:this.data>
    </xc:customControl>

</xp:view>
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom">

    <xc:customControl>
    </xc:customControl>

</xp:view>

预期结果:


XPAGE(不设置compositeData.mail的第二个场景):

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

    <xp:br></xp:br>
    SHOW PHONE: 
    <xp:text escape="true" id="computedField3" value="#{compositeData.data.phone}"></xp:text>
    <xp:br></xp:br>
    <xp:br></xp:br>
    SHOW MAIL:
    <xp:text escape="true" id="computedField2" value="#{compositeData.data.mail}"></xp:text>

    <xp:br></xp:br>
    <xp:br></xp:br>
    <xp:text escape="true" id="computedField1" value="SIMPLE TEXT" style="color:rgb(255,0,0);font-size:24pt"
        rendered="#{((compositeData.data.phone eq null) and (compositeData.data.mail eq null)) ? false : true}">
    </xp:text>

</xp:view>
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom">

    <xc:customControl>
        <xc:this.data>
            <xc:data mail="test@testmail.com"></xc:data>
        </xc:this.data>
    </xc:customControl>

</xp:view>
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom">

    <xc:customControl>
    </xc:customControl>

</xp:view>

预期结果:


提示:我已经用
Domino8.5.3FP6
Domino9.0.1FP4
服务器完成了测试。正如我上面提到的,没有任何问题。

代码不会失败,它执行您编写的操作。但是,您没有描述您认为代码的功能,这可能是其他原因。您是否尝试过使用空而不是空?