我想用表达式语言声明if then else语句的组合条件。
不幸的是我的代码失败了。
((compositeData.data.phone eq null) and (compositeData.data.mail eq null) and (compositeData.data.linkP eq null)) ? false : true
答案 0 :(得分:2)
在我看来,你的代码应该有效。我已经测试过没有任何问题。
查看以下代码段...
自定义控制:
<?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>
XPAGE(第一个场景设置compositeData.mail):
<?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>
预期结果:
XPAGE(未设置compositeData.mail的第二种情况):
<?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>
预期结果:
提示:我已经使用Domino 8.5.3FP6
和Domino 9.0.1FP4
服务器完成了测试。正如我上面提到的,没有任何麻烦。