# re: struts2使用iterator標簽顯示嵌套Map 回復 更多評論
2008-03-21 01:10 by
你好,有這樣一個問題請教:
Action里面有一個map已經傳到頁面,定義如下:
map bookCategoryMap<Ingerer,String>={"1":"計算機書籍","2":"文學書籍"}
在頁面有一個book的list,在<s:iterator>中遍歷book,book有一個字段category是int,現在要顯示跟 bookCategoryMap對應的字符串,如book.category為1則顯示"計算機書籍",請問表達式應該怎樣寫? 在iterator里面總是取不到外面的map的值
謝謝!
# re: struts2使用iterator標簽顯示嵌套Map[未登錄] 回復 更多評論
2008-03-21 08:40 by
@求助
我沒有能夠完全你的意思,我的理解是你有一個Map,想在iterator中使用Map的Key取出相應的值顯示出來,不知道是不是這樣。
根據我的理解,你可以試一下這樣(其中bookMap是一個Map)
<s:iterator value="bookMap.keySet()" id="bookId">
<tr>
<td>
<s:property value="bookMap.get(#bookId)"/>
</td>
</tr>
</s:iterator>
# re: struts2使用iterator標簽顯示嵌套Map[未登錄] 回復 更多評論
2008-03-21 08:45 by
我再看了一遍你的回復,有了新的理解。
你有一個Book的List和另一個Category的Map
Book類中存儲的是Category的id,你想在顯示的Book的時候顯示Category這個Map中Category Id對應的Category名稱。是不是這樣?
那你可以參考我的這篇文章:
使用struts2中的ognl表達式顯示數據表字典項的值
http://m.tkk7.com/usherlight/archive/2008/03/17/186730.html
# re: struts2使用iterator標簽顯示嵌套Map 回復 更多評論
2008-03-21 14:54 by
@我再看了一遍你的回復,有了新的理解。
感謝你的及時回復,可能我表達的不是很清楚,呵呵,你后面的回復(2008-03-21 08:45 )正是我想要的,我采取的辦法也是你在那篇文章里面的辦法:"在iBatis中使用SqlMap從表中將數據取出,此時不使用數據表的連接".
1)我現在的環境是struts2+ejb3+jboss4.2,因為jboss的實現是用hibernate的
2)因為有很多種這樣的情況,所以我想如果每個字典表都提供一個類似于Category 的class會加大工作量,需要改很多地方.所以想只提供一個map和一個booklist到頁面,book只存一個bookCategoryId,然后直接把map傳到頁面,在iterator的時候只要取到map里面的name就可以了.
我現在的做法是在iterator的外面定義了一個set如下:<s:set name="cateMap" value="bookCategoryMap" />,然后在iterator里面用book的cateId從cateMap取cateName,但是我總取不到map里面的值,問題是:a)id是int的,而map里面的key是Integer的,需要轉換 b)我用你介紹的方法好像不支持,可能是我語法沒寫對,再多試試,呵呵
謝謝!
# re: struts2使用iterator標簽顯示嵌套Map 回復 更多評論
2008-03-21 15:25 by
問題解決了,謝謝云水兄弟:)
在java類里面添加一個方法getCateNameById,然后用@classname@methodName,
謝謝!!!!!!!!!!!!
# re: struts2使用iterator標簽顯示嵌套Map 回復 更多評論
2008-04-17 09:24 by
我想問一個問題.
我有一個list list里面是hashmap
應該如何實現顯示所有的數據?
謝謝了.另外這種表達式,是參考什么寫法的?基于什么標準的?是struts2的?還是jsp servlet自帶的?
# re: struts2使用iterator標簽顯示嵌套Map 回復 更多評論
2008-04-19 18:54 by
@richpencil
你是想怎么顯示這個list呢?
文中的標簽是Struts2帶的。
表達式是ognl的
# re: struts2使用iterator標簽顯示嵌套Map 回復 更多評論
2008-10-27 09:24 by
請問 struts 2.0 的 頁面是 $ % # 有什么區別 都在什么情況下用
# re: struts2使用iterator標簽顯示嵌套Map 回復 更多評論
2009-04-10 10:14 by
樓主:
我有個問題:在action里有兩個list(list1,list2),list1在表1里讀取數據,然后讀取list1里每一項的id,再根據id在另一個表(表2)中讀取數據存在list2里面,我如果要在頁面顯示兩個list里的屬性。應該怎么實現啊?如果用兩個迭代的話,list2的數據始終是最后一條啊。