If statement Apache Tapestry-如果有几个条件
我需要在一个Tapestry表列中获得2个java字段。我的每个字段都可以为空。我可以在单行中写入if条件(一个if运算符中有两个字段),还是必须为第二个字段写入内部条件 现在我有这个:If statement Apache Tapestry-如果有几个条件,if-statement,tapestry,If Statement,Tapestry,我需要在一个Tapestry表列中获得2个java字段。我的每个字段都可以为空。我可以在单行中写入if条件(一个if运算符中有两个字段),还是必须为第二个字段写入内部条件 现在我有这个: <t:if test="${subject.subjectQuantity}"> <t:if test="${subject.unitMeasure}"> <tr> <td>Subject count:</td
<t:if test="${subject.subjectQuantity}">
<t:if test="${subject.unitMeasure}">
<tr>
<td>Subject count:</td>
<td>${subject.subjectQuantity} ${subject.unitMeasure}</td>
</tr>
</t:if>
</t:if>
受试者人数:
${subject.subjectQuantity}${subject.unitMeasure}
这是一个很好的例子,说明了什么时候应该将逻辑放在组件类中,而不是放在模板中。只需创建一个getter,返回要显示的字符串。将您的条件放入该getter中。JAVA
public boolean isSubjectQuantityAndUnitMeasurePopulated() {
return subject.subjectQuantity != null && subject.unitMeasure != null;
}
TML
受试者人数:
${subject.subjectQuantity}${subject.unitMeasure}
您的java代码中可以没有任何条件。请参考下面的代码
Scrub.tml
<t:if test="sitelistUtility">
<label> ${sitelist.utility.name}</label>
</t:if>
谢谢你的建议。举个例子。我想知道是否可以设置多个条件,以及如何设置。据我所知,没有一种方法可以在一个“如果”中设置两个测试。顺便说一下,您不应该对组件参数使用${…}语法。它会导致对字符串进行不必要的类型强制。它应该是公正的
<t:if test="sitelistUtility">
<label> ${sitelist.utility.name}</label>
</t:if>
public boolean isSitelistUtility() {
return sitelist != null && sitelist.getUtility() != null;
}