2011-07-29 45 views
0

我有一個Arraylist的Arraylist < String>的,我試圖訪問一個字符串值。假設我想訪問我的jsp文件中第二個ArrayList中的第三個字符串,但是我想使用EL來完成這個任務,而無需編寫腳本。這是正確的嗎? $ {anArrayList [2] [3]}ArrayList的ArrayList - 使用EL訪問值

+0

對不起,從手機發布。我有 – nsfyn55

回答

0

幾乎正確。您似乎認爲陣列索引始於0,而不是1。在普通的Java代碼中一直是這種情況,這在EL中並沒有什麼不同。因此,要獲得第二個列表,然後是第三個字符串,您需要分別索引12。所以,這應該做

${anArrayList[1][2]} 

...假設你已經放置在${anArrayList}所期望的範圍。例如,在預處理servlet幫助的請求範圍:

List<List<String>> anArrayList = createItSomehow(); 
request.setAttribute("anArrayList", anArrayList); 
// ... 
// I'd invent a more self-documenting variable and attribute name though. 

順便說一句,你熟悉Javabeans?這很難聞,你寧可需要List<Entity>

+0

對不起,這是愚蠢的錯誤,我知道數組索引開始爲0,這些不是我真正的var名稱。我對javabeans很少有經驗,但我不知道實體是什麼,你能解釋一下嗎?在任何情況下,我認爲對於我的目的arraylist的arraylists會很好,但如果這是尷尬的編碼習慣,我想了解更多關於我將如何使用列表< entity> – joseph

+0

這只是一個抽象的例子。想象一個代表真實世界實體的類,其中包含所有你已經放在二維列表中的所有屬性。也許'人'與'id','firstname','地址'等?或'產品'與'ID','描述','價格'等?或者''訂單'與'ID','客戶','數量'等?就像設計良好的數據庫表的單行一樣。另請參閱我的答案中的「Javabeans」背後的鏈接。 – BalusC

+0

我確實想過,但我決定不創建一個「人」或類似的課程。我不確定這是否是不好的編程習慣,但在我看來,如果不使用類就可以更簡單並避免額外的代碼。不過,我猜這樣會顯得不那麼難看。 – joseph