0

これは単純なはずですが、正しい変数が見つかりません。

struts2 で Freemarker テンプレートをカスタマイズしています (シンプル -> radioMap)

テンプレートの構造は基本的に次のとおりです。

<@s.iterator value="parameters.list">
   //Display each item in the list
</@s.iterator>

私がやろうとしているのは、反復内の各アイテムの数を表示することです。印刷できるように、反復された各アイテムのインデックスを取得する必要があります

0 - Item A
1 - Item B
....

どうすればそのようなインデックスを取得できますか? ありがとう!

4

2 に答える 2

0

は標準の FreeMarker ディレクティブではないため@s.iterator、現在のインデックスを変数に入れるかどうかはわかりません (標準のディレクティブ#listはそうしますが、何らかの理由で独自のイテレータを使用しているようです)。ただし、次のように自分自身を数えることもできます。

<#local idx = 0>
<@.iterator ...>
   <#local idx = idx + 1>
   ...
</@.iterator>

#localの使用法は、この「radioMap」がマクロであると想定していることに注意してください。そうでない場合は、<#assign ...>代わりに使用する必要があり、このコードが独自の FreeMarker 名前空間 (つまり、-d#importではなく -ed ) または独自の FreeMarker で呼び出されることを願っています。#includeEnvironment

于 2012-05-27T09:23:08.943 に答える
0

S2 イテレータ タグは、このstatus属性を使用してループ ステータス変数に名前を付けます。

プロパティ タグを使用して、ループ ステータス変数を取得できます。

http://struts.apache.org/2.x/docs/iterator.html

ネイティブ FM ループを使用するには、stack.findValue()メソッドを使用できます。

http://struts.apache.org/2.x/docs/freemarker.html

于 2012-05-27T12:36:29.020 に答える