2011-11-16 39 views
0

我是新來的struts2,我在迭代List.I時無法使用struts 2迭代器標籤迭代下列代碼,並在表中顯示。使用struts2標籤進行迭代的問題

List<QueryResult> queryResults = queriesresult.getQueryResult(); 
for (QueryResult q_list : queryResults) { 
    List<LinkedHashMap> list_Cols = q_list.getRows(); 
    for (LinkedHashMap<Object, Object> map : list_Cols) { 
     for (Map.Entry<Object, Object> entry : map.entrySet()) { 
      Object key = entry.getKey(); 
      Object value = entry.getValue(); 
      System.out.println("Hello Col:" + key); 
      System.out.println("Hello Rows:" + value); 
     } 
    } 
} 

我露出queryResults,在JSP中我嘗試:

<s:iterator value="queryResults" id="qr"> 
    <s:iterator value="qr.rows" id="keyrow"> 
    <s:iterator value="keyrow"> <table><tr><td> 
     <s:property value="key" /> 
     <s:property value="value" /> </table></tr></td> 
    </s:iterator> 
    </s:iterator> 
</s:iterator> 

這是我曾嘗試在支柱迭代,但它不是迭代。

+0

難道我們知道你綁什麼?您嘗試使用的標籤? –

+1

\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t這是我如何嘗試但無法迭代 – MohanMaverick

+0

上面的'Java代碼'中沒有編譯錯誤? – lschin

回答

0

試試這個。

<s:iterator value="queryResults" id="qr"> <s:iterator value="qr.rows" id="keyrow"> 

Value : <s:property value="keyrow['<<key>>']"/> 
</s:iterator> 
</s:iterator> 

可以使用格式mapName ['key']來訪問映射值。

+0

沒有這個不工作@Anantha Sharma – MohanMaverick

+0

是被迭代的地圖?,請在那裏放置一些東西來確定地圖實際上正在被迭代。 (你看到'價值:'多次顯示)? –

+0

沒有不迭代Anantha夏爾馬.I地圖調試它不迭代 – MohanMaverick

0

對於Struts 2.1+,您應該使用var來定義每個迭代對象的名稱,而不是id

最內層的<s:iterator>標籤應遍歷keyrowkeyrow.entrySet

除此之外它是多餘的(地圖迭代器已經在地圖的條目集迭代),在OGNL它會尋找一個名爲entrySet - 但該屬性不是一個地圖的財產,這是一個方法keyrow.entrySet()。但無論如何這是沒有必要的。

+0

抱歉,其仍然沒有工作 \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t

\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t請幫我 – MohanMaverick

+0

@MohanMaverick你怎麼EX把我看完了?更新你的問題,描述數據,描述行動所暴露的內容。 –

+0

對不起,它不能編輯,我只改變爲你所說的,而不是keyrow.entrySet(),我用它改變了keyrow。 – MohanMaverick