[JSP] 자바빈 액션태그 <jsp:useBean>

2019. 7. 17. 17:20 Java 관련/JSP,Servlet

자바빈 액션태그 <jsp:useBean>





- 자바빈을 JSP 페이지에서 사용하는 데는 3가지 액션 태그를 제공한다.


- 자바빈 관련 액션 태그


 자바 빈 관련 액션 태그

내용 

<jsp:useBean id="..." class="..." scope="..."/> 

자바빈 객체를 생성 

<jsp:setProperty name="..." property="..." value="..." /> 

생성된 자바빈 객체에 프로퍼티 값을 저장 

<jsp:getproperty name="..." property="..." /> 

생성된 자바빈 객체에서 저장된 프로퍼티 값을 가져옴. 




1. <jsp:useBean> 액션 태그


- 자바빈 객체를 생성한다.


<jsp:useBean id="test" class="com.bean.testBean" scope="page" />


- id 속성은 생성될 자바빈 객체(인스턴스)의 이름을 명시 한다.


- class 속성은 객체가 생성될 자바빈 클래스를 기술 (패키지명을 포함한 자바 클래스)


- scope 속성은 자바빈 객체의 유효 범위로 자바빈 객체가 공유되는 범위를 지정한다. 생략시 default는 "page" 

( page, request, session, application )


- 이것은 자바에서 객체를 생성하는 다음의 문장과 동일하다


SimpleBean test = new TestBean();


- <jsp:useBean) 액션 태그에서 id 속성값에 지정한 이름이 이미 존재하는 경우 자바빈 객체를 새로 생성하는 것이 아니라 기존에 생성된 객체를 그대로 사용한다. (id, class, scope 모두 같아야 같은 객체가 된다.)


2. <jsp:setProperty> 액션 태그


- 생성된 자바빈 객체에 프로퍼티 값을 저장하기 위해 사용된다.


<jsp:setProperty name = "testBean" property="name" value="lee" />


- name 속성은 자바빈 객체의 이름을 명시한다 (필수)


- property 속성은 프로퍼티 명을 기술한다. (필수)


- value 속성은 프로퍼티에 저장할 값을 기술한다. (생략 가능)


<jsp:useBean id="testBean" class="com.bean.testBean" scope="page">

<jsp:setProperty name="testBean" property="name" />

</jsp:useBean>


- 위의 <jsp:setProperty name="testBean" property="name" /> 액션 태그는 자바빈 클래스의 setName() 메소드와 자동 연동된다.


- 즉 프로퍼티명 name 은 자바빈 클래스의 name 프로퍼티를 의미한다.


- Property 속성값을 * 를 주면 모든 프로퍼티 값이 세팅된다. 그러나 폼으로부터 넘어오는 파라미터의 이름과 개수가 프로퍼티의 이름과 개수와 일치해야 한다.


<jsp:useBean id="testBean" class="com.bean.testBean" scope="page">

<jsp:setProperty name="testBean" property="*" />

</jsp:useBean>



- 폼으로부터 넘어온 파라미터 명과 자바빈의 프로퍼티가 일치하지 않는 경우 param 속성을 기술해야 한다.


<jsp:useBean id="testBean" class="com.bean.testBean" scope="page">

<jsp:setProperty name="testBean" property="name" param="userName" />

</jsp:useBean>


- 폼으로부터 넘어온 name 의 파라미터 명이 "userName" 일 경우 위와 같이 param을 기술해 준다.


3. <jsp:getProperty> 액션 태그


     - 자바빈 객체에서 저장된 프로퍼티 값을 사용하기 위해 사용된다.


<jsp:getProperty name = "testBean" property="name" />


- name 속성은 자바빈 객체의 이름을 명시한다. (필수)


- property 속성은 프로퍼티 명을 기술한다. (필수)


<jsp:useBean id="testBean" class="com.bean.testBean" scope="page" />

<jsp:getProperty name="testBean" property="name" />


- useBean 으로 생성한 testBean 의 name 속성을 가져온다.



출처: https://hyeonstorage.tistory.com/96?category=554979 [개발이 하고 싶어요]