1

整数値が5の場合、ループは5回繰り返されるように、整数値に基づいてループを繰り返したいと思います。

jspページでJSTLを使用してこれを行う方法を知っています:

<c:forEach var="item" begin="1" end="${properties.value}" varStatus="loop">
    //statement
</c:forEach>

上記の「終了」では、ダイアログから値を取得しています。5 のような値を渡すと、ループは 5 回実行されます。

以下のリンクを参照しました:

私もいくつかのグーグル検索を行いましたが、このシナリオの例は見つかりません。すべての例は、見栄えの良いリストに基づいています。

ダイアログから渡された整数値に基づいて、サイトリーを使用してこれを実行したいと考えています。

ありがとう、

アルピット ボラ

4

2 に答える 2

1

他の人に役立つ私のソリューションを共有する:) ...

いくつかのグーグル検索の後、Sightly/HTL Documentationから、Sightly/HTLがコレクションのみを反復処理することを知りました。

そこで、「HTL JavaScript Use-API」を使用して質問の解決策を実現しました。

まず、私の .js ファイルでは、ダイアログの整数値を取得した後、その値に基づいて配列を返しています。以下は私の「itemCount.js」ファイルのコードです:

"use strict";
use(function () {
    var count = properties["loopCountValue"];

    return new Array(Number(count));
});

.html ファイルの 2 番目で、Sightly List (data-sly-list) を使用して配列を反復しています。以下は私の「testCount.html」ファイルのコードです:

<sly data-sly-use.clientLib="${'/libs/granite/sightly/templates/clientlib.html'}" />
<sly data-sly-use.itemCount="itemCount.js" data-sly-unwrap />
 
<sly data-sly-test="${!itemCount}">
    <div>
        <h2>Iterate a sightly loop based on Integer value passed from dialog.</h2>
    </div>
</sly>
 
<sly data-sly-test="${itemCount}">
    <p>Test Count ${itemCount}</p>
    
    <ul data-sly-list.contentCount="${colCount}">
        <li>ITEMS : ${contentCountList.count}</li>
    </ul>
</sly>

--

ありがとう、

アルピット ボラ

于 2016-10-02T02:59:57.190 に答える