3.2 Advanced configuration

3.2.1 The xwork.xml

3.2.2 Namespaces and packages


<xwork>
    <include file="webwork-default.xml"/>
    <include file="config-browser.xml"/>
    
    <package name="default" extends="webwork-default">
        <interceptors>
            <interceptor name="auth" class="org.hibernate.auction.web.interceptors.AuthenticationInterceptor"/>
        </interceptors>
        
        <global-results>
            <result name="login" type="redirect">/login!default.action</result>
        </global-results>
    </package>
    
    <package name="public" extends="default">
        <default-interceptor-ref name="completeStack"/>
        <!-- public facing actions -->
    </package>
    
    <package name="secure" extends="default" namespace="/secure">
        <interceptor-stack name="default">
            <interceptor-ref name="auth"/>
            <interceptor-ref name="completeStack"/>
        </interceptor-stack>

        <default-interceptor-ref name="default"/>
        <!-- protected actions -->
    </package>
</xwork>

Extending packages

  • WebWork package 설정은 Java package와 유사하다.
  • 각 패키지에는 actions, results, and interceptors를 정의 할 수 있다.
  • 다른 패키지를 상속받으면 모든 정의를 사용할수 있다.

Mapping namespaces

  • package에 namespace를 설정 할 수 있다. 설정 안하면 namespace는 "" 로 설정 됨.
  • namespace="/secure" 로 설정하면 /secure/action명으로 호출함.
  • /secure"에 만약 action이 존재하지 않으면 디폴트인 /에서 action 이름을 찾는다.

3.2.3 Componentization using the include tag

  • 여러개의 xml 파일을 include 하여 사용 할 수 있다.

<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"  "http://www.opensymphony.com/xwork/xwork-1.0.dtd">

<xwork>
    <include file="webwork-default.xml"/>
    <include file="config-browser.xml"/>
    
    <package name="default" extends="webwork-default">
        <interceptors>
            <interceptor name="auth" class="org.hibernate.auction.web.interceptors.AuthenticationInterceptor"/>
        </interceptors>
        
        <global-results>
            <result name="login" type="redirect">/login!default.action</result>
            <result name="invalid.token">/invalidToken.jsp</result>
        </global-results>
    </package>
    
    <include file="xwork-public.xml"/>
    <include file="xwork-secure.xml"/>
</xwork>

문서에 대하여

  • 이 문서의 내용은 Webwork In Action 교재를 스터디 하면서 정리한 내용 입니다.
  • 최초작성자 : 김정식
  • 최초작성일 : 2007년 9월 20일
  • 이 문서는 오라클클럽 자바 웹개발자 스터디 모임에서 작성하였습니다.
  • 이 문서를 다른 블로그나 홈페이지에 퍼가실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^\^