form-beans 요소
<form-beans>
<form-bean
name="loginForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
<form-bean
name="ShoppingCartForm"
type="com.oreilly.struts.order.ShoppinCartForm">
</form-beans>
<form-beans>
<form-bean
name="loginForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
<form-bean
name="ShoppingCartForm"
type="com.oreilly.struts.order.ShoppinCartForm">
</form-beans>
classname=표준 설정 빈인 org.apache.struts.config.FormBeanConfig 클래스를 사용하지 않을때
이 속성에 사용할 클래스를 지정한다. 지정할 클래스는 반드시 FormBeanConfig 를 상속해야 함.
name=빈의 식별자
type=ActionForm 클래스를 상속하는 자바클래스의 전체 이름
만약 이 값을 org.apache.struts.action.DynaActionForm 로 지정하면 스트럿츠가
이 클래스의 인스턴스를 동적으로 생성한다.
org.apache.struts.action.DynaActionForm (동적인 액션 폼)
form-property 요소를 사용하면 org.apache.struts.action.DynaActionForm 클래스의
인스턴스에 동적인 속성을 하나 이상 넘길 수 있다.
이 속성에 사용할 클래스를 지정한다. 지정할 클래스는 반드시 FormBeanConfig 를 상속해야 함.
name=빈의 식별자
type=ActionForm 클래스를 상속하는 자바클래스의 전체 이름
만약 이 값을 org.apache.struts.action.DynaActionForm 로 지정하면 스트럿츠가
이 클래스의 인스턴스를 동적으로 생성한다.
org.apache.struts.action.DynaActionForm (동적인 액션 폼)
form-property 요소를 사용하면 org.apache.struts.action.DynaActionForm 클래스의
인스턴스에 동적인 속성을 하나 이상 넘길 수 있다.
form-property 요소
initial=이 속성에서 사용할 초기 값을 지정한다.
name=빈즈의 프로퍼티 이름
type=빈 속성을 구현하는 클래스의 전체 이름 []가 따라오면 배열형을 의미한다.
name=빈즈의 프로퍼티 이름
type=빈 속성을 구현하는 클래스의 전체 이름 []가 따라오면 배열형을 의미한다.
global-exceptions 요소
<global-exceptions>
<exception
key="global.error.invalidlogin"
path="/signin.jsp"
scope="request"
type="com.oreilly.struts.framework.exceptions.InvalidLoginException"
</global-exceptions>
<exception
key="global.error.invalidlogin"
path="/signin.jsp"
scope="request"
type="com.oreilly.struts.framework.exceptions.InvalidLoginException"
</global-exceptions>
handler=예외 처리를 담당할 예외 처리 클래스의 전체 이름. 지정한 클래스는
org.apache.struts.config.ExceptionConfig의 하위 클래스 여야 한다.
key=리소스 번들에 지정된 키 값. ActionError 클래스의 인스턴스에서 이 속성의
값을 사용한다.
path=예외 상황이 발생할 경우 전송해야 할 리소스의 상대 경로. 지정한 값이
없으면 액션 매핑에서 지정하는 input 속성의 값이 사용된다.
scope=ActionError 클래스의 인스턴스를 저장할 스코프. 속성 값은 반드시
request 또는 session이어야 한다. 기본값은 request
type=예외 클래스의 전체 이름
bundle=현재 exception에서 지정한 key 속성이 위치할 리소스 번들을 구별하는
ServletContext 속성
org.apache.struts.config.ExceptionConfig의 하위 클래스 여야 한다.
key=리소스 번들에 지정된 키 값. ActionError 클래스의 인스턴스에서 이 속성의
값을 사용한다.
path=예외 상황이 발생할 경우 전송해야 할 리소스의 상대 경로. 지정한 값이
없으면 액션 매핑에서 지정하는 input 속성의 값이 사용된다.
scope=ActionError 클래스의 인스턴스를 저장할 스코프. 속성 값은 반드시
request 또는 session이어야 한다. 기본값은 request
type=예외 클래스의 전체 이름
bundle=현재 exception에서 지정한 key 속성이 위치할 리소스 번들을 구별하는
ServletContext 속성
global-forwards 요소
<global-forwards>
<forward name="Login" path="signin.jsp" redirect="true" />
<forward name="SystemFailure" path="systemerror.jsp" />
<forward name="SessionTimeout" path="sessiontimeout.jsp" redirect="true" />
</global-forwards>
<forward name="Login" path="signin.jsp" redirect="true" />
<forward name="SystemFailure" path="systemerror.jsp" />
<forward name="SessionTimeout" path="sessiontimeout.jsp" redirect="true" />
</global-forwards>
contextRelative=true로 지정할 경우 path 속성에 지정된 리소스를 컨텍스트
상대 경로로 인식한다. 이 속성은 다른 하위 애플리케이션에 속한 path 속성에
지정된 리소스들의 경우를 위해 사용된다. 기본값은 false
name=이 포워드 정보를 참조하기 위한 유일한 값
path=포워드 되거나, 리다이렉트되어야 할 애플리케이션의 상대 경로
redirect=true일 경우 리다이렉트, 기본값은 포워드
상대 경로로 인식한다. 이 속성은 다른 하위 애플리케이션에 속한 path 속성에
지정된 리소스들의 경우를 위해 사용된다. 기본값은 false
name=이 포워드 정보를 참조하기 위한 유일한 값
path=포워드 되거나, 리다이렉트되어야 할 애플리케이션의 상대 경로
redirect=true일 경우 리다이렉트, 기본값은 포워드
action-mappings 요소
<action
path="/login"
type="com.oreilly.struts.banking.action.LoginAction"
scope="request"
name="loginForm"
validate="true"
input="/login.jsp">
<forward name="success"
path="/index.jsp"
redirect="true" />
<forward name="failure"
path="/signin.jsp"
redirect="true" />
</action>
path = 요청과 관련된 애플리케이션 상대 경로
type = Action 클래스를 상속하는 자바 클래스의 전체 이름, excute() 메소드를 실행하게 된다.
scope = 폼빈의 스코프, 요청 혹은 세션 값이 된다. name 속성을 지정한 경우에만 사용가능,
기본 값은 session 이다.
name = 액션과 연결된 폼 빈의 이름
validate = 폼빈즈의 validate() 메소드가 action의 excute() 메소드 전에 호출되어야 하는지 나타낸다.
기본 값은 true
input = 폼빈에서 검증 에러가 발생했을 경우 되돌아갈 자원의 이름, name 속성을 지정한 경우만 사용
attribute=이 action이 접근할 수 있는 요청 혹은 세션 스코프의 폼 빈 이름. 이 속성의 값은 name 속성에
폼빈이 지정되어 있을 경우에만 사용할 수 있다.
forward=포워드 될 서블릿이나 jsp의 상대경로.
include=클라이언트의 요청에 대해 포함해야 할 서블릿이나 jsp 자원의 상대 경로
parameter=action 인스턴스에 정보를 넘기기 위해 사용
prefix=요청 파라미터의 이름을 폼 빈의 속성 이름과 일치시키기 위해 사용한다.
roles=이 Action의 호출을 허용할 보안 처리자 이름들의 리스트
suffix=요청 파라미터의 이름을 폼 빈의 속성 이름과 일치시키기 위해 사용한다.
unknown=이 액션은 애플리케이션에서 기본으로 설정해야 하는지 여부를 표시한다. 오직 한 액션만을
true로 지정할 수 있다. 이 속성은 사용자가 유효하지 않은 url를 처리하는 작업을 할 수도 있을것이다.
<action
path="/login"
type="com.oreilly.struts.banking.action.LoginAction"
scope="request"
name="loginForm"
validate="true"
input="/login.jsp">
<forward name="success"
path="/index.jsp"
redirect="true" />
<forward name="failure"
path="/signin.jsp"
redirect="true" />
</action>
path = 요청과 관련된 애플리케이션 상대 경로
type = Action 클래스를 상속하는 자바 클래스의 전체 이름, excute() 메소드를 실행하게 된다.
scope = 폼빈의 스코프, 요청 혹은 세션 값이 된다. name 속성을 지정한 경우에만 사용가능,
기본 값은 session 이다.
name = 액션과 연결된 폼 빈의 이름
validate = 폼빈즈의 validate() 메소드가 action의 excute() 메소드 전에 호출되어야 하는지 나타낸다.
기본 값은 true
input = 폼빈에서 검증 에러가 발생했을 경우 되돌아갈 자원의 이름, name 속성을 지정한 경우만 사용
attribute=이 action이 접근할 수 있는 요청 혹은 세션 스코프의 폼 빈 이름. 이 속성의 값은 name 속성에
폼빈이 지정되어 있을 경우에만 사용할 수 있다.
forward=포워드 될 서블릿이나 jsp의 상대경로.
include=클라이언트의 요청에 대해 포함해야 할 서블릿이나 jsp 자원의 상대 경로
parameter=action 인스턴스에 정보를 넘기기 위해 사용
prefix=요청 파라미터의 이름을 폼 빈의 속성 이름과 일치시키기 위해 사용한다.
roles=이 Action의 호출을 허용할 보안 처리자 이름들의 리스트
suffix=요청 파라미터의 이름을 폼 빈의 속성 이름과 일치시키기 위해 사용한다.
unknown=이 액션은 애플리케이션에서 기본으로 설정해야 하는지 여부를 표시한다. 오직 한 액션만을
true로 지정할 수 있다. 이 속성은 사용자가 유효하지 않은 url를 처리하는 작업을 할 수도 있을것이다.
controller 요소
(사용자 요청 처리는 RequestProcessor 클래스의 인스턴스에 위임하여,
요청을 처리하는 클래스를 할당하고 기능을 수정할 수 있다.
컨트롤러 서블릿을 위해 web.xml에서 설정했던 많은 매개 변수를 controller 요소에
설정할수 있다. 컨트롤러와 그 속성들이 struts-config.xml에 정의되었기때문에
각각의 하위 애플리케이션을 위해 분리된 controller 요소를 정의할 수 있다.)
(사용자 요청 처리는 RequestProcessor 클래스의 인스턴스에 위임하여,
요청을 처리하는 클래스를 할당하고 기능을 수정할 수 있다.
컨트롤러 서블릿을 위해 web.xml에서 설정했던 많은 매개 변수를 controller 요소에
설정할수 있다. 컨트롤러와 그 속성들이 struts-config.xml에 정의되었기때문에
각각의 하위 애플리케이션을 위해 분리된 controller 요소를 정의할 수 있다.)
<controller
contentType="text/html;charset=UTF-8"
debug="3"
locale="true"
nocache="true"
processorClass="com.oreilly.struts.framework.CustomRequestProcessor" />
contentType="text/html;charset=UTF-8"
debug="3"
locale="true"
nocache="true"
processorClass="com.oreilly.struts.framework.CustomRequestProcessor" />
bufferSize=파일 업로드 시 사용하는 입력 버퍼의 크기.
contentType=응답결과를 보낼 때 사용하는 컨텐트 타입. 여기서 지정한 값이 있더라도,
jsp 페이지에서 지정한 값이 우선한다.
debug=현재 애플리케이션의 디버깅 레벨. 값이 클수록 더 많은 로깅 정보들이 축적된다.
값이 0이라면 로깅 정보를 전혀 기록하지 않겠다는 의미이다.
forwardPattern=/로 시작하는 (contextRelative 속성이 true일 경우) 상대 컨텍스트
경로에 forward 요소의 path 속성이 어떻게 매핑되는지에 대한 대체 패턴
inputForward=만일 action 요소의 input 파라미터를 최종 URL 로 사용할 로컬 또는
전역 forward 요소의 이름이길 워한다면 true 로 설정한다.
locale=사용자의 지역정보를 사용자 세션에 저장할지 여부. 기본값은 false
maxFileSize=파일 업로드시 파일의 최대 용량. 기본값은 250메가
숫자 뒤에 K, M, G를 붙여서 표현한다.
multipartClass=MultiPart 요청에 대한 처리를 담당하는 클래스의 전체 이름
nocache=사용자에 대한 모든 응답 처리에서 HTTP 헤더를 'nocache'로 설정할 지의 여부
pagePattern=커스텀 태그를 사용하는 페이지의 page속성이 컨텍스트 상대 URL 경로
에 매핑 방법에 대한 대체 패턴
processorClass=사용자의 요청을 처리할 클래스의 전체 이름
tempDir=파일 업로드 시 사용할 임시 디렉토리. 이 속성은 선택적으로 사용할 수 있다.
컨테이너는 기본 값을 각각의 웹 애플리케이션에 할당한다.
contentType=응답결과를 보낼 때 사용하는 컨텐트 타입. 여기서 지정한 값이 있더라도,
jsp 페이지에서 지정한 값이 우선한다.
debug=현재 애플리케이션의 디버깅 레벨. 값이 클수록 더 많은 로깅 정보들이 축적된다.
값이 0이라면 로깅 정보를 전혀 기록하지 않겠다는 의미이다.
forwardPattern=/로 시작하는 (contextRelative 속성이 true일 경우) 상대 컨텍스트
경로에 forward 요소의 path 속성이 어떻게 매핑되는지에 대한 대체 패턴
inputForward=만일 action 요소의 input 파라미터를 최종 URL 로 사용할 로컬 또는
전역 forward 요소의 이름이길 워한다면 true 로 설정한다.
locale=사용자의 지역정보를 사용자 세션에 저장할지 여부. 기본값은 false
maxFileSize=파일 업로드시 파일의 최대 용량. 기본값은 250메가
숫자 뒤에 K, M, G를 붙여서 표현한다.
multipartClass=MultiPart 요청에 대한 처리를 담당하는 클래스의 전체 이름
nocache=사용자에 대한 모든 응답 처리에서 HTTP 헤더를 'nocache'로 설정할 지의 여부
pagePattern=커스텀 태그를 사용하는 페이지의 page속성이 컨텍스트 상대 URL 경로
에 매핑 방법에 대한 대체 패턴
processorClass=사용자의 요청을 처리할 클래스의 전체 이름
tempDir=파일 업로드 시 사용할 임시 디렉토리. 이 속성은 선택적으로 사용할 수 있다.
컨테이너는 기본 값을 각각의 웹 애플리케이션에 할당한다.
message-resources 요소
<message-resources
null="false"
parameter="StorefrontMessageResources" />
<message-resources
key="IMAGE_RESOURCE_KEY"
null="false"
parameter="StorefrontMessageResources" />
null="false"
parameter="StorefrontMessageResources" />
<message-resources
key="IMAGE_RESOURCE_KEY"
null="false"
parameter="StorefrontMessageResources" />
factory=사용할 MessageResourcesFactory 클래스의 전체 클래스 이름
key=메시지 리소스 번들이 저장될 서블릿 컨텍스트 속성.
기본값은 Action.MESSAGES_KEY 에 의해 지정된다. 기본 번들로 리소스 번들
하나만 지정된다.
null=정의 되지 않은 메시지 키가 사용된 경우 이를 MessageResources의 하위
클래스에서 어떻게 처리할지 나타내는 boolean 값. true로 지정하는 빈 문자열을
리턴한다. false로 설정하면 "??global.label.missing??"과 같은 문자열을 리턴.
parameter=리소스 번들의 이름. 예를 들어 번들 파일 이름이
AppicationResources.properties이면, 이 속성의 값은 AppicationResources이다.
만일 리소스 번들이 패키지 화 되어 있다면 해당 패키지의 이름을 포함한
전체 이름을 지정해야 한다.
key=메시지 리소스 번들이 저장될 서블릿 컨텍스트 속성.
기본값은 Action.MESSAGES_KEY 에 의해 지정된다. 기본 번들로 리소스 번들
하나만 지정된다.
null=정의 되지 않은 메시지 키가 사용된 경우 이를 MessageResources의 하위
클래스에서 어떻게 처리할지 나타내는 boolean 값. true로 지정하는 빈 문자열을
리턴한다. false로 설정하면 "??global.label.missing??"과 같은 문자열을 리턴.
parameter=리소스 번들의 이름. 예를 들어 번들 파일 이름이
AppicationResources.properties이면, 이 속성의 값은 AppicationResources이다.
만일 리소스 번들이 패키지 화 되어 있다면 해당 패키지의 이름을 포함한
전체 이름을 지정해야 한다.
plug-in 요소
(지정한 클래스의 인스턴스는 각각의 플로그인 요소에 의해 생성되며, init() 메소드는
애플리케이션이 구동될때 그리고 destory() 메소드는 애플리케이션이 정지할 때 호출된다.)
(지정한 클래스의 인스턴스는 각각의 플로그인 요소에 의해 생성되며, init() 메소드는
애플리케이션이 구동될때 그리고 destory() 메소드는 애플리케이션이 정지할 때 호출된다.)
<plug-in className="com.oreilly.struts.storfront.service.StoreFrontServiceFactory" />
<plug-in className="com.oreilly.struts.storfront.service.StoreFrontServiceFactory" >
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml" />
</plug-in>
<plug-in className="com.oreilly.struts.storfront.service.StoreFrontServiceFactory" >
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml" />
</plug-in>