JSP - 표현언어
07 Mar 2021 | JSPJSP - 표현언어
-
표현언어
- 값을 표현하는데 사용되는 새로운 스크립트 언어로 JSP 2.0에서 새로 추가됨
- Expression Language, EL이라 부른다
- 표현방법 : ${value}
- Attribute, request의 parameter, ServletContext의 초기화 파람 등에 접근할 수 있다
- 빈의 프로퍼티를 chaining 하여 값을 불러온다
<% Student student = new Student(); student.setName("홍길동"); request.setAttribute("student",student); %> <% HashMap<String,String> car = new HashMap<>(); map.put("name","Benz") request.setAttribute("car",car); %> <p>이름 : ${student.name}</p> <p>이름 : ${car.name}</p>
- 배열, 리스트의 값도 표현 가능
<% ArrayList<String> student = new ArrayList<>(); student.add("홍길동"); student.add("저팔계"); request.setAttribute("student",student); %> <p>${student[0]}</p> <p>${student[1]}</p> <% Car[] car = new Car[2]; car[0].setName("Benz"); car[1].setName("BMW"); %> <p>${car[0].name}</p> <p>${car[1].name}</p>
-
EL 연산자
-
EL 내장객체
- param 내장객체를 사용하면 굳이 getParameter() 메소드를 이용하지 않고도 ${param.value} 이렇게 값에 접근할 수 있다
- request.setArrtibute(“name”,”value”); 에 세팅한 값은 ${requestScope.name} 이렇게
- sessionScope나 applicationScope도 마찬가지이다
- ${pageContext.request.contextPath}는 <%=request.getContextPath() %>랑 같다
-
EL 빈 사용하기
<jsp:useBean id="bean" class="path"> <jsp:setProperty name="bean" property="*" /> </jsp:useBean> <p>${bean.key}</p>
-
has-a 관계 빈
- 객체가 다른 객체를 속성으로 가지는 경우를 has-a 관계라고 한다
public class Member { private String id; private String pwd; private String name; private Address addr; // 주소 정보를 저장하는 Address 클래스 } // Address 클래스 public class Address { private String city; private String zipcode; }
<jsp:useBean id="member" class="path"> <jsp:setProperty name="member" property="*" /> </jsp:useBean> <jsp:useBean id="address" class="path"> <jsp:setProperty name="address" property="*" /> </jsp:useBean> <% // Member 빈의 addr 속성에 Address 빈을 세팅 member.setAddr(address); %> <!-- 출력 --> <p> ${member.id} ${member.address.city} </p>
-
스코프 우선순위
- page > request > session > application
참고 자료
KG 아이티뱅크 강의 자료
처음해보는 JSP&Servlet 웹 프로그래밍
자바 웹을 다루는 기술