EL 에서는 null 값을 출력하지 않는다. 값이 나오지 않으면 null 을 고려하거나 로직을 고려해야할 듯 싶다.
${myList}를 하게되면 page->request->session->application 순으로 키값을 찾게되고 값을 찾아 그값을 쓴다.
각 인덱스의 값을 알고 싶다면 [인덱스] 를 사용한다. 문자열리터럴로 ["1"] 같은 값이나 [문자변수] 또한 가능하다.
즉 ${myList[1]} ${myList["1"]} ${myList[myNum]} 이 가능하다.
<body>
<%
List<String > list = new ArrayList<>();
list.add("java");
list.add("html");
list.add("Css");
list.add(null);
request.setAttribute("myList", list);
pageContext.setAttribute("myNum", "2");
%>
<h1>List 컬렉션의 사용</h1>
<h3>${myList[0]} , ${myList[1]}, ${myList[2]}</h3>
<hr />
<h3>값이 null이라면 ${ myList[3]} 출력하지 않는다.</h3>
<%= ((List<String>)(request.getAttribute("myList"))).get(3) %>
<hr />
<h4>인덱스에 리터럴을 줘서도 사용가능하다 myList[myNum] : >>>>> ${myList[myNum]}</h4>
</body>
배열도 List와 똑같이 선언하고 똑같이 가져온다.
<body>
<%
String[] arr = {"java","css","jquery"};
request.setAttribute("myArr", arr);
%>
<h1>EL 을통한 배열의 출력</h1>
<br />
<h2>myArr[0]: >>>> ${myArr[0] }</h2>
<h2>myArr['1']: >>>> ${myArr['1'] }</h2>
<h2>myArr[2]: >>>> ${myArr[2] }</h2>
<hr />
<ul>
<%
for(int i =0; i<arr.length; i++){
pageContext.setAttribute("i", i);
%>
<li>${myArr[i] }</li>
<%
}
%>
</ul>
</body>
'EL' 카테고리의 다른 글
5.EL에서의 논리연산자와 비교연산자 (0) | 2020.07.14 |
---|---|
4.EL에서의 비교연산자 (0) | 2020.07.14 |
3.파라미터, 헤더, 쿠키, 전역 변수 (0) | 2020.07.14 |
2.VO 객체 = ? Bean 객체 도출 (0) | 2020.07.14 |
1.Map (0) | 2020.07.14 |