Apache Tapestry - IF 有几个条件
Apache Tapestry - IF with several conditions
我需要在一个 Tapestry table 列中获取 2 个 java 字段。我的每个字段都可以为空。我可以在单行中编写 if 条件(一个 IF 运算符中包含 2 个字段),还是必须为第二个字段编写内部条件?
现在我有了这个:
<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>
这是一个很好的例子,说明何时应将逻辑放在组件中 class 而不是模板中。只需创建一个 getter 即可 returns 您要显示的字符串。把你的条件放在 getter.
JAVA
public boolean isSubjectQuantityAndUnitMeasurePopulated() {
return subject.subjectQuantity != null && subject.unitMeasure != null;
}
TML
<t:if test="subjectQuantityAndUnitMeasurePopulated">
<tr>
<td>Subject count:</td>
<td>${subject.subjectQuantity} ${subject.unitMeasure}</td>
</tr>
</t:if>
您的 java 代码中可以有任何条件。请参考以下代码。
Scrub.tml
<t:if test="sitelistUtility">
<label> ${sitelist.utility.name}</label>
</t:if>
Scrub.java
public boolean isSitelistUtility() {
return sitelist != null && sitelist.getUtility() != null;
}
我需要在一个 Tapestry table 列中获取 2 个 java 字段。我的每个字段都可以为空。我可以在单行中编写 if 条件(一个 IF 运算符中包含 2 个字段),还是必须为第二个字段编写内部条件?
现在我有了这个:
<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>
这是一个很好的例子,说明何时应将逻辑放在组件中 class 而不是模板中。只需创建一个 getter 即可 returns 您要显示的字符串。把你的条件放在 getter.
JAVA
public boolean isSubjectQuantityAndUnitMeasurePopulated() {
return subject.subjectQuantity != null && subject.unitMeasure != null;
}
TML
<t:if test="subjectQuantityAndUnitMeasurePopulated">
<tr>
<td>Subject count:</td>
<td>${subject.subjectQuantity} ${subject.unitMeasure}</td>
</tr>
</t:if>
您的 java 代码中可以有任何条件。请参考以下代码。
Scrub.tml
<t:if test="sitelistUtility">
<label> ${sitelist.utility.name}</label>
</t:if>
Scrub.java
public boolean isSitelistUtility() {
return sitelist != null && sitelist.getUtility() != null;
}