我正在打印 Comments 数组的前 12 个元素。打印完 12 个后,会打印一个“更多”链接。我正在使用 COMMENT_COUNT int 执行此操作,并在打印的每条评论上对其进行迭代。我想在打印“更多”链接后将 COMMENT_COUNT 的值返回为 0。
我已经保留了当前的 hack,在打印“更多”链接后我只需调用 ${clearCount()} 即可。现在发生的是打印了 12 条评论,然后打印了“更多”链接,然后打印了布尔值“true”。
我猜有很多更好的方法可以做到这一点。我正在寻找一种更好的方法来调用 ${clearCount()},或者在打印“更多”链接后将 COMMENT_COUNT 设置为 0 的更好方法。
--- 编辑添加 ----
另一个要求是 COMMENT_COUNT 只计算前 12 条可见评论(评论可能可见或不可见,取决于用户),所以有一些丑陋的嵌套 if 语句:
.tml:
<t:loop source="currentCategoryTextmedium.commentArraySorted" value="currentComment">
//test if the current comment should be visible
<t:if test="isCurrentCommentVisible()">
<t:if test="isCommentLessThan12()">
//print first 12 visible comments
<span>
<a blah blah>${currentComment.blahblah}</a>
</span>
</t:if>
</t:if>
</t:loop>
<t:if test="isCommentMoreThan12()">
//print one More link
<span>
<a "blah blah">MORE</a>
</span>
</t:if>
//Clear the COMMENT_COUNT so that the right number of comments print on another element
${clearCount()}
爪哇:
public int COMMENT_COUNT;
public boolean isCommentLessThan12() {
if (COMMENT_COUNT < 12) {
COMMENT_COUNT++;
return true;
}
else {
return false;
}
}
public boolean isCommentMoreThan12() {
COMMENT_COUNT++;
if (COMMENT_COUNT > 12) {
return true;
}
else {
return false;
}
}
public boolean clearCount() {
COMMENT_COUNT= 0;
return true;
}