Archive

JSP - 표현언어

|

JSP - 표현언어


  1. 표현언어

    • 값을 표현하는데 사용되는 새로운 스크립트 언어로 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>
    


  2. EL 연산자

    연산자


  3. EL 내장객체

    내장객체


    • param 내장객체를 사용하면 굳이 getParameter() 메소드를 이용하지 않고도 ${param.value} 이렇게 값에 접근할 수 있다
    • request.setArrtibute(“name”,”value”); 에 세팅한 값은 ${requestScope.name} 이렇게
    • sessionScope나 applicationScope도 마찬가지이다
    • ${pageContext.request.contextPath}는 <%=request.getContextPath() %>랑 같다
  4. EL 빈 사용하기

    <jsp:useBean id="bean" class="path">
    	<jsp:setProperty name="bean" property="*" />
    </jsp:useBean>
       
    <p>${bean.key}</p>
    


  5. 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>
    


  6. 스코프 우선순위

    • page > request > session > application



참고 자료


KG 아이티뱅크 강의 자료

처음해보는 JSP&Servlet 웹 프로그래밍

자바 웹을 다루는 기술