2017년 5월 21일 일요일

<jsp:xxx> 태그의 사용

Bean의 사용

1) 폼에서 넘어온 값을 빈에 넣어주는 예
    <jsp:useBean id="tb" class="BeanTest.TestBean">
        <jsp:setProperty name="tb" property="*" /> 빈으로 값을 넣어준다
    </jsp:useBean>
    또는
    <jsp:useBean id="tb" class="BeanTest.TestBean" />
        <jsp:setProperty name="tb" property="*" /> 빈으로 값을 넣어준다
    ☞ 빈에 담을때는 주로 위의 방법을 이용했다.

2) 빈에서 값을 받아오는 예
    id : <jsp:getProperty name="tb" property="id" /> 와 같은 표현 <%=tb.getId()%>
    team : <jsp:getProperty name="tb" property="team" /> 와 같은 표현 <%=tb.getTeam()%>
    age : <jsp:getProperty name="tb" property="age" /> 와 같은 표현 <%=tb.getAge()%>
    ☞ 빈에 담긴 내용을 웹에 표시할 때에는 주로 getXxx() 메서드를 이용했다.

<jsp:useBean id="tb" class="TestBean" /> 와 같은 표현 TestBean tb = new TestBean();
<jsp:setProperty name="tb" property="id" /> 와 같은 표현 tb.setId(request.getParameter("id"));
<jsp:setProperty name="tb" property="*" /> 변수들 모두다 적용

3) scope 속성의 값
    <jsp:useBean id="tb" class="BeanTest.TestBean" scope="page"/>
    * scope="page" --> Default 속성값
        현재페이지 내에서만 객체를 가짐.
    * scope="session"
        세션이 살아있는 동안 객체를 가짐.(현재 브라우저가 살아있는 동안)
        <%@ page %>에서 session=true로 설정된 곳에서 사용가능.
        setAttribute()와는 다른의미의 세션임.
    * scope="request"
        forward, inclued 된 페이지 범위까지도 객체를 사용 가능.
        request는 요청이 모두 끝날때 까지.
        page와 다른점은 request는 forward, inclued를 통해서 다른 서블릿이나 jsp로 넘어 가서 또 수행 될수가 있다.
    * scope="application"
        애플리케이션내에서 사용 가능 = 컨테이너가 살아있는 동안이라는 뜻임.
        (애플리케이션이란? ROOT, myapp등과 같은 webapps 폴더내의 서브폴더임)