Java 表达式语言,if-then-else中的组合条件
我想用表达式语言为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
((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
服务器完成了测试。正如我上面提到的,没有任何问题。代码不会失败,它执行您编写的操作。但是,您没有描述您认为代码的功能,这可能是其他原因。您是否尝试过使用空而不是空?