2011-07-29 43 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