0

コメント配列の最初の 12 要素を出力しています。12 が印刷されると、「More」リンクが印刷されます。COMMENT_COUNT int を使用してこれを行っており、印刷された各コメントでそれを繰り返しています。「More」リンクが印刷された後、COMMENT_COUNT の値を 0 に戻したい。

私は現在のハックをそのままにして、「More」リンクを印刷した後に ${clearCount()} を呼び出すだけです。ここで何が起こるかというと、12 個のコメントが出力され、次に「MORE」リンクが出力され、次にブール値「true」が出力されます。

これを行うには、はるかに優れた方法があると思います。${clearCount()} を呼び出すより良い方法、または「More」リンクを印刷した後に COMMENT_COUNT を 0 に設定するより良い方法を探しています。

--- 編集して追加 ----

追加の要件は、COMMENT_COUNT が最初の 12 個の表示可能なコメントのみをカウントすることです (コメントは、ユーザーによって表示される場合と表示されない場合があります)。

.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;
}
4

1 に答える 1