'struts2'에 해당되는 글 7건

  1. 2008.12.23 [Struts2]Struts-config.xml의 dtd 설명 2

[Struts2]Struts-config.xml의 dtd 설명

|

=============================================================================

============================     Action-Mapping     ===========================

 

<action-mappings type="org.apache.struts.action.ActionMapping">
   <action
  path="/login"
  parameter="command"
  attribute="dataForm"
  input="/tutorial/login.jsp"
  name="LoginForm"
  type="com.tutorial.action.LoginAction"
  scope="request"
  validate="true" >
  <forward name="success" path="/welcome.jsp" />
  <forward name="failure" path = "/login.jsp" />
   </action>
 </action-mappings>
 
 
 
ActionMapping는 Controller Servelt인 ActionServlet이 알고 있는 정보(Request와 Action Class의 인스턴스와의 매핑) 를 나타냅니다.
이 클래스의 오브젝트는 Action Class의perform()메소드에게 건네지므로 , Action Class는 직접 매핑의 정보에 액세스 하는 것이 가능합니다.

속성 :
attribute

   actionForm Bean에 액세스 할 때의 Request 속성 또는 Session 속성의 이름입니다.
   이 속성값이 name 속성의 값과 다른 경우 , 이쪽이 속성명으로서 사용됩니다.

 

forward

  RequestDispatcher.forward()에 의해 불려 가 Request를 처리하는 Servlet 또는 JSP의 문맥 상대 패스입니다. 이 속성이  설정되어 있는 경우 ,type 속성으로 로 지정한 액션 클래스의 생성이나 호출은 실행되지 않습니다. 
  ex) <action path="/toSample3" forward="/sample3.jsp" type="XXXAction" name="testForm" scope="request">
forward속성 ,include속성,type속성의 쳐 어느쪽이든 하나는 반드시 설정할 필요가 있습니다.


forwards

  이 매핑과 국소적으로 관련지을 수 있는 ActionForward의 집합입니다.

 

include

  RequestDispatcher.include()에 의해 불려 가 Request를  처리하는 Servlet이나JSP의 문맥 상대 패스입니다. 이 속성이 설정되어 있는 경우 ,type 속성으로 지정한 액션 클래스의 생성이나 호출은 실행되지 않습니다. 
forward속성 ,include속성 ,type속성의 쳐 어느쪽이든 하나는 반드시 설정할 필요가 있습니다.    

input

입력 파라미터의 검증으로 에러가 발생했을 때에 , 제어를 되돌리는 입력 폼의 문맥 상대 패스입니다.

mappings

이 오브젝트를 요소로서 가지는 ActionMappings입니다.

name

이 액션에 관련지을 수 있고 있는 액션 Form Bean의 논리명입니다.

 

parameter

이ActionMapping에 의해 선택되는 것Action에 특별한 정보를 건네주고 싶을 때에 사용할 수 있는 범용적인 설정 파라미터입니다.

 

path

이 매핑을 선택하기 위해서 사용하는 리퀘스트 URI입니다. Controller Servlet를 위해서(때문에) 확장자(extension) 매핑을 사용하고 있는 경우 , 그 확장자(extension)는 제외합니다.  ex) .do

prefix

액션 폼Bean의 속성명과 Request 파라미터명의 매칭에 사용하는 Prefix 입니다.

 

scope

생성된 액션과 관련지을 수 있었던 액션 폼Bean을 보관 유지하고 있는 스코프("request" 또는 "session")의 식별자입니다.

 

suffix

액션 폼Bean의 속성명과 request 파라미터명의 매칭에 사용하는 suffix입니다.

 

type

이 매핑에 의해 사용되는Action실행 클래스의 완전 수식명입니다. forward속성 ,include속성 ,type속성의 쳐 어느쪽이든 하나는 반드시 설정할 필요가 있습니다.   

 
unknown

이 매핑을 , 다른 매핑에 의해 처리되지 않는 리퀘스트를 처리하기 위한 어플리케이션의 디폴트의 매핑으로서 설정하는 경우에true를 세트 합니다. 하나의 어플리케이션에 대해 , 하나의 매핑만을 디폴트로서 지정할 수가 있습니다.
   
validate

이 매핑과 관련지을 수 있고 있는 액션 폼Bean이 존재할 때 ,
    그validate()메소드를 호출한다면 ,true을 세트 합니다. 

 

=============================================================================

================================     controller        ============================

controller 요소

컨트롤러 서블릿을 위해 web.xml에서 설정했던 많은 매개 변수를 controller 요소에서 설정한다. 컨트롤러와 그 속성들이 struts-config.xml 파일에 정의되었기 때문에 각각의 하위 애플리케이션을 위해 분리된 controller 요소를 정의할 수 있다. controller 요소는 자식 요소 하나를 포함한다.

<!ELEMENT controller (set-property*)>

controller 요소를 0개 이상 정의할 수 있다.

 

controller 요소의 속성들

bufferSize : 파일 업로드 시 사용하는 입력 버퍼의 크기. 선택적이며 기본값은 4096

className : 컨트롤러 정보를 포함한 설정 빈을 구현하는 클래스. org.apache.struts.config.ControllerConfig의 하위 클래스여야 한다. 선택적이며 기본값은 ControllerConfig 클래스이다.

contentType : 응답 결과를 보낼 때 사용하는 컨텐트 타입. 선택적이며 기본값은 "text/html"이다. 이 속성에 지정한 값이 있더라고 JSP 페이지에서 지정한 컨텐트 타입이 우선이다.

debug : 현재 애플리케이션의 디버깅 레벨. 내부적으로 일어나는 이벤트들을 얼마만큼 저장할지를 나타낸다. 값이 클수록 많은 로깅 정보들이 축척된다. 선택적이며 기본값은 0으로 로깅 정보를 기록하지 않는다.

forwardPattern : /로 시작하는(그리고 contextRelative 속성이 false일 경우) 상태 컨텍스트 경로에 forward 요소의 path 속성이 어떻게 매핑되는지에 대한 대체 패턴,

- $A : 하위 애플리케이션의 애플리케이션 접두어에 의한 대체.

- $P : 선택한 forward 요소의 path 속성에 의한 대체.

- $$ : URL 에서 $표시 그대로 표현됨.

- $x(x는 위에 정의되지 않은 모든 표시) : 추후 사용을 위해 예약됨.

기본 forwardPattern은 forwards 행위에 직접 입력한 것과 일치하도록 하는 $A$P 패턴이다.

inputForward : 만일 action 요소의 input 파라미터를 최종 URL로 사용할 로컬 또는 전역 forward 요소의 이름이길 원한다면 true로 설정한다. false로 설정하면 input 파라미터를 입력 폼으로 사용자 자원에 대한 하위 애플리케이션 상대 경로로 간주한다.

locale : 사용자 지역 정보를 사용자 세션에 저장할지 여부. 선택적이며 기본값은 false.

maxFileSize : 파일 업로드시 파일의 최대 용량(단위는 bytes). 숫자 뒤에 K, M, G를 붙여서 표현한다. 기본 값은 250M이다.

multipartClass : Multipart 요청에 대한 처리를 담당하는 클래스의 전체 이름이다. 파일 업로드시 사용. 선택적이며 기본 값은 DiskMultipartRequestHandler 클래스이다.

nocache :  모든 응답 처리에서 HTTP 헤더를 'nocache'로 설정할 지에 대한 Boolean 값을 가진다. 선택적으로 사용하며 기본값은 false이다.

pagePattern : 커스텀 태그를 사용하는 페이지의 page 속성이 컨텍스트 상대 URL 경로에 매핑에 대한 대한 대체 패턴.

- $A : 하위 애프리케이션의 애플리케이션 접둥에 의한 대체.

- $P : 선택한 forward 요소의 path 속성에 의한 대체.

- $$ : URL에서 $ 표시 그대로 표현됨.

- $x(x는 위에 정의 되지 않은 다른 표시) - 추후 사용을 위해 예약됨.

기본 pagePattern은 page 속성의 URL값과 일치하도록 $A$P 패턴이다.

tempDir :  파일 업로드시 사용할 임시 디렉토리. 선택적이며 컨테이너는 기본 값을 각각의 웹 애플리케이션에 할당한다.

 

controller 요소를 설정하는 예

<controller

contentType="text/html;charset=UTF-8"

debug="3"

locale="true"

nocache="true"

processorClass="com.oreilly.struts.framework.CustomRequestProcessor"/>

 

<!--

기본 : RequestProcessor

tiles 사용시 : processorClass="org.apache.struts.tiles.TilesRequestProcessor"

-->

 

 

=============================================================================

========================     message-resources      ==========================

message-resources요소

message-resources 요소는 메시지 리소스 번들과 관련한 특징을 정의한다. 메시지 리소스 번들을 하나 이상 지정할 수 있다. 따라서 각 하위 애플리케이션마다 자신의 리소스 번들을 가질 수 있다.

<!ELEMENT message-resources (set-property*)>

 

message-resources 요소의 속성들

className : message-resources의 정보를 포함하는 설정 빈을 구현하는 클래스 이름. org.apache.struts.config.MessageResourceConfig 클래스의 하위 클래스여야 한다. 선택적이며 기본 클래스는 messageResourceConfig 클래스이다.

factory : 사용할 MessageResourceFactory 클래스의 전체 클래스 이름. 선택적이며 org.apache.struts.util 패키지의 ProperptyMessageResource가 기본 클래스이다.

key : 메시지 리소스 번들이 저장될 서블릿 컨텍스트 속성. 선택적이며 기본 값은 Action.MESSAGE_KEY에 의해 지정된다. 기본 값으로 리소스 번들 하나만 지정된다.

null : 정의되지 않은 메시지 키가 사용된 경우 MessageResources의 하위 클래스에서 어떻게 처리할 것인지 나타내는 Boolean 값. true일 때는 빈 문자열을 반환한고 false일때 "???global.label.missing???"과 같은 문자열을 되돌려준다. 선택적이며 기본 값은 true 이다.

parameter : 리소스 번들의 이름. 리소스 번들 이름이 ApplicationResources.properties 이면 이 속성의 값은 ApplicationResources가 된다. 반드시 정의해야 하며 리소스 번들이 패키지화 되있다면 해당 패키지의 이름을 포함한 전체 이름을 지정한다.

 

message-resources 요소를 설정하는 예

<message-resources

null="false"

parameter="StroefrontMessageResoures"/>

<message-resources

key="IMAGE_RESOURCE_KEY"

null="false"

arameter="StroefrontImageResources"/>

 

 

=============================================================================

=================================    plug-in    ================================

plug-in 요소

스트럿츠 애플리케이션이 구동시 동적인 자원을 처리하게 해주는 강력한 기능이다. 플러그인을 사용하기 위해서는 org.apache.struts.action.PlugIn 인터페이스를 구현하는 자바 클래스를 생성한 후 설정 파일에 plug-in 요소를 추가하면 된다.

애플리케이션의 구동 및 정지 시 사용할 클래스의 전체 이름을 지정하면 된다. 지정한 클래스의 인스턴스는 각각의 plug-in 요소에 의해 생성되며, init() 메소드는 애플리케이션이 구동할 때 그리고 destroy() 메소드는 애플리케이션이 정지할 때 호출된다.

 

<!ELEMENT plug-in (set-property*)>

plug-in 요소의 속성

className : PlugIn 클래스의 전체 이름을 나타내며, 해당 클래스는 반드시 Plug-In 인터페이스를 구현해야  한다.

 

plug-in 요소를 설정하는 예

<plug-in

className="com.oreilly.strtus.storefront.service.StroefrontServiceFactory"/>

<plug-in

className="org.apache.struts.validator.ValidatorPlugIn">

<set-property

property="pathnames"

value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/>

</plug-in> 


'JAVA/JSP > Struts2' 카테고리의 다른 글

Struts태그라이브러리 사용서  (0) 2009.02.02
redirect와 forward의 차이점.  (0) 2009.01.19
[Struts2] architecture  (0) 2008.12.23
[Struts2]Amateras 설정 및 간단한 예제  (0) 2008.12.23
[Struts2] 기본적인 설정  (0) 2008.12.22
And
prev | 1 | 2 | 3 | 4 | ··· | 7 | next