【问题标题】:ArrayList of ArrayLists- accessing values with ELArrayLists 的 ArrayList - 使用 EL 访问值
【发布时间】:2011-10-16 07:31:06
【问题描述】:

我有一个 Arraylist 的 Arraylist,我正在尝试访问一个字符串值。假设我想访问我的 jsp 文件中第二个 ArrayList 中的第三个字符串,但我想在不编写脚本的情况下使用 EL 来完成它。这是正确的吗? ${anArrayList[2][3]}

【问题讨论】:

  • 抱歉从手机发帖。我已经

标签: java jsp arraylist nested el


【解决方案1】:

几乎正确。数组索引以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&lt;Entity&gt;

【讨论】:

  • 对不起,这是个愚蠢的错误,我知道数组索引从 0 开始,而这些不是我真正的 var 名称。我对javabeans的经验很少,但我不知道实体是什么,你能解释一下吗?无论如何,我认为就我的目的而言,arraylist 的arraylist 会很好,但如果这是一种尴尬的编码实践,我想了解更多关于如何使用 List
  • 这只是一个抽象的例子。考虑一个代表真实世界实体的单个类,其中包含您已放入 2d 列表中的所有属性。也许PersonidfirstnameAddress 等?或者Productiddescriptionprice 等?或者OrderidCustomerquantity 等等?就像设计良好的数据库表的单行一样。另请参阅我的回答中“Javabeans”背后的链接。
  • 我确实考虑过这一点,但我决定根本不创建“Person”或类似的类。我不确定这是否是不好的编程习惯,但在我看来,不使用类就这样做会更简单,并且避免额外的代码。不过,我想它看起来会不那么难看。
猜你喜欢
  • 2012-11-19
  • 2010-09-12
  • 1970-01-01
  • 2021-02-21
  • 1970-01-01
  • 2012-11-19
  • 2013-03-24
  • 2023-03-04
  • 2020-11-12
相关资源
最近更新 更多