Saya mengalami masalah saat mencoba mengambil nilai dari treeMap yang berisi selama beberapa waktu. Saya telah mencoba beberapa metode berbeda untuk mengakses data, tetapi hasil terjauh yang saya dapatkan adalah JSP mengakui adanya Hash atau Peta Pohon, tetapi tidak benar-benar mengulanginya dan mengembalikan data.
Saya telah mencoba menemukan cara terbaik untuk mengurutkan hasil xml berdasarkan atribut tag. Jadi saya mengambil xml dan memasukkan nilai masing-masing ke dalam kacang, lalu mengambil, lalu menempatkan kacang di peta pohon di mana Key=SortId. Karena treema secara otomatis mengurutkan, hasilnya adalah peta nilai XML yang diurutkan. Populasi kacang dan treeMap berfungsi dengan baik, masalahnya hanya menarik nilai-nilai tersebut ke JSP
Mungkin dengan lebih baik mengilustrasikan peta yang saya hasilkan akan membantu setidaknya menyampaikan maksud yang ingin saya sampaikan. Tujuannya adalah untuk menelusuri daftar yang baru diurutkan dan mengisi div saya dengan sesuatu seperti
<div>
Name: ${tileName} <br />
Description: ${tileDescrip} <br />
<img scr="${imagePath}">
</div>
peta pohon yang dihasilkan terlihat seperti ini
diurutkanHash
{0, bean(tileName,tiledescrip,imagePath)}
{1, bean(tileName,tiledescrip,imagePath)}
{2, bean(tileName,tiledescrip,imagePath)}
Masalah saya adalah dengan kode di atas, saya tidak mendapatkan nilai apa pun yang dikembalikan bahkan dari iterasi peta tingkat pertama meskipun mengeluarkan peta itu sendiri menunjukkan bahwa itu ada di sana.
sortedHash = CTTeamsiteXMLHash@135b24b
jadi aliran Pseudo dari apa yang saya lakukan
Read XML
- Iterate
-Parse XML Values to bean
-Place bean in Treemap<SortId, XML-Bean>
-Return TreeMap
-Loop through treemap and then pull each bean value out.
Berikut contoh XML
<teaser>
<sort>1</sort>
<value1></value1>
<value2></value2>
</teaser>
Komponen Saya
public class CTTeamsiteXMLHash {
private HashMap<String, Object> xmlHash;
private TreeMap<String, Object> sortedHash;
public TreeMap<String, Object> getSortedHash() {
return sortedHash;
}
public void setSortedHash(TreeMap<String, Object> sortedHash) {
this.sortedHash = sortedHash;
}
public void setXmlHash(String sortOrder, CTTeamsiteXMLBean bean) {
getXmlHash().put(sortOrder, bean);
}
public HashMap<String, Object> getXmlHash() {
return xmlHash;
}
Ini adalah Upaya saya yang gagal dalam mengakses dari JSP. jika itu membantu, saya juga meneruskan sortHash dalam permintaan
<jsp:useBean id="sortedHash" class="CTTeamsiteXMLHash"
scope="request"/>
<c:forEach items="${sortedHash.sortedHash}"
var="eachItem">
<c:forEach items="${eachItem.value}"
var="anItem">
<c:out value="${anItem.tileName.value}" /> :
<c:out
value="${anItem.tileDescrip.value}" />
</c:forEach>
</c:forEach>
for
dan seterusnya. Dengan cara ini lebih mudah untuk menerjemahkannya ke dalam pendekatan JSTL. - person BalusC   schedule 13.12.2010