2011-07-29 7 views
0

나는 Arraylist의 Arraylist 인 < String>을 가지고 있으며 문자열 값에 액세스하려고합니다. 내 JSP 파일에서 두 번째 ArrayList의 세 번째 String에 액세스하려고했지만 EL을 사용하여 스크립팅하지 않고도이 작업을 수행하려고했습니다. 이게 맞을까요? $ {anArrayList [2] [3]}ArrayList의 ArrayList - EL 값으로 액세스하기

+0

죄송합니다. 전화로 문의하십시오. 난 – nsfyn55

답변

0

거의 정확합니다. 어레이 인덱스는 0으로 시작하며 생각하는 것처럼 1이 아닙니다. 이것은 일반적인 Java 코드에서 항상 발생 했었고 이것은 EL에서 다르지 않습니다. 따라서 두 번째 목록과 세 번째 문자열을 얻으려면 각각 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는 괜찮을 것이라고 생각합니다. 그러나 이것이 어색한 코딩 실습이라면 목록을 사용하는 방법에 대해 자세히 배우고 싶습니다. < entity> – joseph

+0

그것은 단지 추상적 인 예였습니다. 2d 목록에 모두 넣은 모든 속성을 포함하고있는 실세계 엔티티를 나타내는 단일 클래스를 생각해보십시오. 아마도'id','firstname','Address' 등의'Person'일까요? 아니면'id','description','price' 등으로'Product'를 사용합니까? 또는'id','Customer','quantity' 등으로'Order'를 만들 수 있습니까? 잘 설계된 데이터베이스 테이블의 단일 행처럼. 내 답변에서 "Javabeans"뒤에있는 링크를 참조하십시오. – BalusC

+0

나는 그것에 대해 생각했지만 "Person"이나 비슷한 클래스를 만들지 않기로 결정했습니다. 이것이 나쁜 프로그래밍 실습인지 확실치 않지만, 클래스를 사용하지 않고 그냥하는 것이 더 간단하고 여분의 코드를 피하는 것처럼 보였다. 그러나, 나는 추한 것처럼 보일 것 같아. – joseph