개발 등/JSP

EL 표현식의 연산자 정리

darkhorizon 2009. 2. 20. 21:50
728x90
반응형

1. 도트(.) 연산자
 ${Fisrt.Second}
  First : 맵 혹은 자바 빈
  Second : 맵의 키 혹은 자바 빈의 프라퍼티(멤버변수)

2. [] 연산자
 ${First["Second"]}
  First : 맵이나 빈, 배열, 리스트
  Second : 맵의 키, 빈의 퍼라퍼티,배열이나 리스트의 인덱스 값
  주의 1) 리스트나 배열의 인덱스일 경우에는 ["1"]이나 [1]이 동일한 값을 나타낸다.
  예) String[] list={"Kim","Seo","Lee","Sun"};
       request.setAttribute("List", list);

       ${list["0"]} => Kim
       ${list[0]}   => Kim
 
주의 2) 맵의 키이거나 빈의 퍼라퍼티일 경우에는 []연산자에 ""의 有無에 따라 의미가 달라진다.
 즉, ""는 맵의 키이거나 퍼라퍼티를 의미하지만, 없을 경우에는 해당이름으로 바인딩된 속성을 의미한다
  예) Map map=new HashMap();
    map.put("1", "Kim");
    map.put("2", "Lee");
    map.put("3", "Seo");

    request.setAttribute("map", map);
    request.setAttribute("number", "1");

   ${map[number]} => ${map["1"]} => ${map[1]} => Lee
   ${map["number"]} map의 키값 중에 "number"이 없으므로 리턴되는 값은 null
728x90