본문 바로가기

WEB_Programming/Struts

bean:define Tag 사용법

bean:define Tag는 특정 빈 프로퍼티에 대해서 스크립팅 변수로 사용할 수 있도록 값을 지정하는 태그이다.

이 태그는 지정된 스코프 에서 새로운 attribute를 생성하고 스크립팅 변수에 대응하는 값을 설정한다. id 속성에 대한 값을 이름으로 지정한다.

대응되는 값은 다음과 같은 상황에 특정 값이 지정되며, 속성을 생성한다.

  1. 지정된 이름에 대한 속성은 추가적으로 프로퍼티를 지정하거나 scope속성을 지정할 수 있다. 생성된 속성과 스크립팅 변수는 JavaBean프로퍼티에 접근하는 것 처럼 사용될 수 있고, 자바 프리미티브 타입은 아니다.
  2. value 속성 정의
    생성된 속성과 스크립팅 변수는 java.lang.String의 타입이 될 수 있으며, 이에대한 값이 지정된다.
  3. 포함된 body컨텐츠를 지정
    생성된 속성과 스크립팅 변수는 java.lang.String이 될 수 있으며, 값으로 body 컨텐츠가 올 수 있다.

Note:           

  1. 는 한 페이지내에서 동일한 이름으로 하나이상 지정할 수 없다.
  2. 스크립팅 변수는 널을 지정할 수 없다.
  3. bean:define 태그는 DynaActionForm의 인스턴스로 사용될 수 없다.
  4. 특정 빈 프로퍼티를 조회하다가 오류가 발생하는 경우 request time 예외가 던져진다.
Name Description
id

이 속성은 스크립팅 변수를 지정하기위한 이름이다.(그리고 페이지 scope 속성과 연관되어 있다.) 그리고 속성에 대한 값으로 지정할 수있다.

name

이 속성은 bean의 이름으로 속성값을 기술할 이름이다. property는 속성에 대한 새로운 scope로 접근이 가능하며(property가 정의된 경우), property가 지정되어 있지 않은경우 이 태그에 의해서 생성된 새로운 래퍼런스에 대해 중복된 빈의 이름 속성이 올 수 있다. 이 속성은 value 속성에 대한 값이 오거나 body 컨텐츠의 값이 요구되어진다.

property

이 속성은 name에 의해서 지정된 빈에 접근하기 위한 프로퍼티 이름이다. 이 값은 단순하며, 인덱스화 되어 있거나 참조되는 표현식의 내포된 프로퍼티 값이 될 수 있다. 이값이 지정되어 있지 않으면 빈은 name에 의해서 구별되며 id에 의해서 구별된 새로운 참조자를 제공한다.

scope

이 속성은 name에 의해서 검색할 빈 값에 대한 스코프 영역을 지정한다. 지정되어 있지 않다면 기본적인 룰은 PageContext.findAttribute()의 의해서 적용된다.

toScope

이 속성은 변수의 스코프를 지정하는 값으로 생성될때 새롭게 정의될 영역이다. 이 값이 지정되지 않으면 기본값으로 page가 된다.

value

이 속성은 java.lang.String의 값으로 지정되며, 이 속성은 name 속성에 지정되거나 body 에 포함된 컨텐츠 내용이 된다.


Example code :
Creating an Action Class : Not Required here.
Creating Form Bean                                                             : Not Required here.
Defining the global-forwards                                               : Not Required here.
Developing the Action Mapping in the struts-config.xml         :Not Required here.

Developing the beanDefineTag.jsp page

 

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
     <body bgcolor="#999933">
       
       <h3><font color="#33FF33">Bean Define Tag Demo.......</font></h3>
       <bean:define id="variable" property="propertyName" value=
"THE PROPERTY VAL"
                                              
toScope="seesion" type="String" />
      <table border="2">
          <tr>
              <th><font color="#33FF33">Property Name</font></th>
               <th><font color="#33FF33">Property Value</font></th>                
           </tr>
         <tr>
              <td><font color="#33FF33">propertyName</font></td>
              <td> <bean:write name="variable" /></td>                
          </tr>
      </table>
    </body>
</html>
 

 

Add the following line in the index.jsp to call the form.

<a href="beanDefineTag.jsp">beanDefineTagDemo</a><br/>

Building and Testing the Example 
Build , deploy and Test  the application .
Open the browser and navigate to the beanDefineTag.jsp page
Your browser displays the following page beanDefineTag.jsp and see the output.


Output:



Above actions   displays the working of beanDefineTag..

'WEB_Programming > Struts' 카테고리의 다른 글

2. Building Model Components  (0) 2008.06.12
bean:cookie Tag 사용법  (0) 2008.06.10
Struts1 애플리케이션 작성 단계  (0) 2008.06.10
Img Tag<html:img>: 사용법  (0) 2008.06.10
Radio Tag <html:radio>: 사용법  (0) 2008.06.10