Struts 2の中でognlは配列を遍歴して、listとmap方法は詳しく解説します。


一、概要
<s:iterator/>データスタック内の任意の配列、集合などを巡回することができます。
このラベルを使う時、三つの属性があります。注目してください。
1.value属性:オプションの属性、value属性は反復されたセットを指し、ognl表現で指定されています。空の場合、デフォルトはValueStockスタックの一番上のセットです。
2.id属性:オプション属性とは、集合要素のidのことです。
3.status属性:任意属性、この属性は反復時にIteratorsオブジェクトを生成します。このオブジェクトは現在の要素の位置を判断できます。以下の属性方法が含まれています。
int get Count()反復要素の個数
int getIndex()現在の索引の反復要素
bollan get First()最初のものかどうか
bootlean getEven()偶かどうか
bootlean get Last()最後かどうか
bolean getOdd()奇とするかどうか
iteratorsオブジェクトはognlのルートオブジェクトではないので、アクセスには、菗を加えて次の例にアクセスする必要があります。

<s:iterator value=”{'dd','bb','cc'}” status=”st”> 
<s:if test=”#st.odd”> 
<s:property value=”#st.index”/> 
</s:if> 
</s:iterator>
iteratorは、mapオブジェクトを反復することもできます。mapオブジェクトの中の何組かのkey-valueは反復して、それぞれ使用します。

<s:property value=”key”/> 
<s:property value=”value”/>
iteratorは、単純な配列集合を反復することもできます。

<s:iterator value="collection1" status="status"> 
<s:property value="collection1[#status.index][0]"/> 
<s:property value="collection1[#status.index][1]"/> 
</s:iterator> 
説明:[瑫status.index]“?”配列で指定された足回り要素を示します。
配列の長さを知らないなら?

//            
<s:iterator value="total" status="stuts"> 
<s:iterator value="total[#stuts.index]" > 
<s:property/><br> 
</s:iterator> 
</s:iterator>
//    <s:property/>             
***********iterator value******************
1.valueStockの値を参照する必要があるなら、このような形式を使用する必要があります。
<s:iterator value=「萶userList」/////userListはaction部分でRequestに保存されているので、啢加属性名来参照値を使用します。
2.セットの値がactionの方法である場合、私たちのactionにはget ListMenuの方法があると仮定して、Listセットに戻ります。
私たちはこの集合を引用して、s:iteratorで出力します。
<s:iterator value=「listMenu」/>
3.iteratorのvalueは定義された方式を使用して、例えば:

<s:iterator value="{1,2,3,4}" /> //          1.2.3.4    。
**************iterator         ********************************
iteratorでは具体的な値を出力します。もし上記のリストの対象には二つの属性があります。全部Stringタイプで、一つはname、一つはurlです。
1.2.を使ってジャンプ後のurlを処理したいなら、どうすればいいですか?
<s:url value=「%{url}」//%{}ognlの表現は、urlの値を処理することができます。実際には絶対パスになります。このようにして、私達はいくつかのジャンプの転換のために発生するパスの問題に対処することができます。原因:「s:iterator/」以降、現在のオブジェクトはValueStockの頂上にあるべきです。このように当時のurlは実際にオブジェクトのurl属性です。
C:ognlを使って対応する値を出力します。
<s:textfield name=「logiinName」value=「%{胪request.login Names}」/>
この表式を使うとテキストボックスが作成されます。また、request.atributeにロゴNames属性がある場合は、テキストボックスのデフォルトとして使用されます。
struts 2のラベルの内部にのみ使用されている場合は、何の値も表示されません。外部に加えて%{}の付号を付けることで正常に使用されます。
EL言語のように直接にファイルを出力したいなら、の間のinnerHTMLテキストは擿request.loginNamesの値で、私達は使用してください。
注意:
1.{}はEL言語の%{}という形式はognl表現言語であり、struts 2のラベルの内部では%{}という形式を使い、ラベルの外部では$EL言語を使用することができます。struts 2のラベルの内部に米ドル{}を使うと、以下のようなエラーメッセージが表示されます。
Acctording to TLD or atribute directive in(file,atribute value does not accept any expressions)
2.多くの場合、私達はstruts 2のいくつかのタグを使って、属性は集合を受け入れる必要があります。集合がrequest、session、または値スタック(ルート以外の対象のスタックトップ)に保存されている場合、鞪変数名を使用することができます。取得した値がActionで特定の方法で取得されている場合、value="userList"のような方法を使用する必要があります。前の菗を取り除いただけです。
以下のいくつかの簡単な例:
<s:iterator/>ラベルは3つの属性があります。
value:反復された集合
id:集合の中の元素のidを指定します。
status反復要素の索引
1:jspページ定義要素の書き方配列またはlist
1.2.A
3.

印刷結果は、1 A 2 A 3 A 4 A 5 Aです。
2:索引の使い方
statusが指定されている場合、各反復データにはIteratorsの例があり、以下のいくつかの方法がある。
int get Count()は現在の繰り返しを返します。いくつかの要素があります。
int get Index()は、現在の要素インデックスを返します。
bollan iseven()もちろんのインデックスは偶数ですか?
bollan isfirst()は現在最初の要素ですか?
bollan isLast()
bollan isOdd()現在の要素インデックスは奇数ですか?
<s:iterator value='''a'、'b'、'c''s'd='char'status='st''
<s:if test=「铀st.Even」>
現在のインデックスは奇数です。

現在の要素値:

3:mapを巡回する
valueは直接定義できます。
1.value=「菗鎗{":"a","2":"b"""」
各要素はカンマで区切られています。元素間のkeyとvalueはコロンで仕切られています。
valueはデータスタックの中のjava.util.Mapオブジェクトでもいいです。
遍歴の書き方は以下の通りです。

<s:iterator value="map" id="id" status="st"> 
key : <s:property value='key'/> 
value:<s:property vlaue='value'/> 
</s:iterator>
もちろんkeyもvalueもjavaのObjectを使えます。
萼葃菷葃33783;より詳細なのは各mapを遍歴しています。ブログを参照してください。
Struts 2 ONLを使用してMapメソッドを遍歴します。詳しくは
3:データスタックを巡回します。簡単なListクラス、
List
class Attr{String atrName}String getAttr Name(){return'123;}
1.2.
3.

もちろんvalueはvalue=「%{label}」labelと書いてもいいです。操作は可能です。
Labelの属性Listはvalue=「%{label.list}」と書くことができます。
4:listを2つ遍歴しました。
ListatrN{カラー、size、スタイル}
List<AttrValue>atrV{red、20、gay}
この2つのlistの要素は1つに対応しています。1つのatrNは1つのatrVに対応しています。

<s:iterator value="%{attrN }" id="id" status="status"> 
index is : <s:property value='status.index'/> 
attrName is : <s:property value='id'/> or <s:property value='%{id}'/> 
attrName is : <s:property value='%{attrV[#status.index]}'/> 
</s:iterator>
締め括りをつける
以上はStruts 2の中でognlは配列を遍歴して、listとmapの方法の詳しい解のすべての内容に関してで、みんなに対してある程度助けることを望みます。興味のある友達はStruts 2 ONLを使用してMapメソッドを遍歴します。詳しくはを参照してください。 、 Struts 2はognl表現により投影を実現する。 、 Struts 2アップロードファイルのサイズ制限方法の解析を修正します。 、 struts 2開発プロセスと詳細配置 など、私達のウェブサイトに対する支持に感謝します。