Contorller
request.setAttribute("cnt", cnt);
View
request.getAttribure("cnt");
EL
`${cnt}`
Contorller
List <String> list = new ArrayList<>(); list.add("hello"); request.setAttribute("list", list)
View
((List))request.getAttribute("list")).get(0)
EL
${list[0]}
Map <String, Object> map = new HashMap<>();
map.put("id", 1)
map.put("title", "내용")
request.setAttribute("map", map)
((Map))request.getAttribute("map")).get(0)
EL
${notice.title}
# 2. EL의 데이터 저장소
- page
- request
- response
- application
## 2.1. 클라이언트의 입력 값 추출
### 2.1.1 우선순위
```java
setAttribute("cnt", cnt);
getAttribute("cnt");
${cnt}가 EL 저장소에 각각 저장되어 있을 때 page, request, response, application
Scope
를 사용하여 값을 꺼내올 수 있다.
pageScope
requestScope
responseScope
applicationScope
${pageScope.cnt}
${requestScope.cnt}
${responseScope.cnt}
${applicationScope.cnt}
${param.cnt}
${header.cnt}
${header["문자열"]}
""
, -
을 사용할 때pageContext.setAttribute("result" ,"hello");
pageContext : ${result }
String num_ = request.getParameter("n");
int num = 0;
if(num_ != null && !num_.equals("")) {
num = Integer.parseInt(num_);
}
String result;
if(num % 2 == 0) {
result = "짝수";
}else {
result = "홀수";
}
request.setAttribute("result", result);
request: ${requestScope.result}
String num_ = request.getParameter("n");
int num = 0;
if(num_ != null && !num_.equals("")) {
num = Integer.parseInt(num_);
}
param.n : ${param.n }
header.accept : ${header.accept }
<%=pageContext.getRequest().getMethod() %>
${pageContext.request.method}
<>
가 있기 때문에 엄격한 기준을 가지고 있는 어떠한 문서는 ge, gt, lt, le
연산자를 사용할 수 있는 문제점이 생길 수 있다.if(n != null || !n.equals("")) {
}
empty param.n : ${empty param.n}<br>
not empty param.n : ${not empty param.n}<br>
empty param.n : ${not empty param.n ? '값이 비었습니다.' : param.n}<br>
empty param.n/2 : ${param.n/2}<br>
Servlet / JSP