2011-07-29 4 views
0

私はArraylistのArraylistを持っています< String>と私は文字列値にアクセスしようとしています。私のjspファイルで2番目のArrayListの3番目のStringにアクセスしたかったとしますが、ELを使用してスクリプティングせずにやりたかったのです。これは正しいでしょうか? $ {anArrayList [2] [3]}ArrayListsのArrayList - ELで値にアクセスする

+0

残念ながら電話からの投稿。私は – nsfyn55

答えて

0

ほぼ正しいです。アレイインデックスは、0で始まり、1ではありません。これは、通常のJavaコードでは常にそうであり、これはELでは違いがありません。したがって、2番目のリストと3番目のストリングを取得するには、それぞれインデックス12が必要です。だから、これはあなたが必要なスコープで${anArrayList}を既に配置したと仮定して...

${anArrayList[1][2]} 

を行う必要があります。例えば、前処理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のarraylistはうまくいくと思いますが、これが厄介なコーディング練習であれば、私はListをどのように使用するかについてもっと学びたいと思います< entity> – joseph

+0

それは単なる抽象的な例でした。すべてのプロパティを2dリストに入れた実世界のエンティティを表す単一のクラスを考えてみましょう。おそらく 'id'、' firstname'、 'Address'などの' Person'でしょうか?または 'id'、' description'、 'price'などの' Product'を使用しますか?または 'id'、' Customer'、 'quantity'などで' Order'を呼び出すことができますか?よく設計されたデータベーステーブルの1行と同じです。私の答えでは、 "Javabeans"の背後にあるリンクも参照してください。 – BalusC

+0

私はそれについて考えましたが、私は "人"または類似のクラスを全く作成しないことに決めました。私はこれが悪いプログラミングの練習であるかどうかはわかりませんが、クラスを使わずにそれをやっているだけで、シンプルで余分なコードを避けるように思えました。しかし、私はそれほど醜く見えないだろうと思う。 – joseph

関連する問題