-
struts1 :: ActionMapping에 대한 정리IT/Java & JSP & FW 2012. 4. 25. 21:04
ActionMapping에 대한 정리
• ActionMapping은?
• URL과 Action 객체를 연결해 준다.
• 사용자가 특정 URL을 호출하면 struts-config.xml에 설정된 어떤 ActionForm에 폼 값을 채워야 하는지 판단하고, 필요하다면 ActionForm객체를 생성한 뒤에, Action을 호출한다.
• ActionMapping은 Struts로 만든 어플리케이션의 흐름을 관장한다.
<action-mappings> <!-- 사용자가 http://hostname/logoff.do를 호출하면 app.LogoffAction 액션 객체를 호출하여 비지니스로직을 수행한다.--> <action path="/logoff" type="app.LogoffAction"/> <!-- 사용자가 http://host/logonSubmit.do를 호출하면, 액션 객체를 호출하기 전에 "logonForm" ActionForm 객체를 생성하여 폼 값을 채워서 액션에 넘겨준다. ActionForm의 validate()가 false를 리턴하면 "/pages/Logon.jsp"로 돌아간다. --> <action path="/logonSubmit" type="app.LogonAction" name="logonForm" scope="request" validate="true" input="/pages/Logon.jsp"/> <action path="/logon" type="app.ContinueAction"> <forward name="continue" path="/pages/Logon.jsp"/> </action> </action-mappings>
• <action> 프라퍼티 설정
• path : 가상의 URI. ActionServlet의 서블릿 매핑을 *.do로 지정했다면, path는 ".do"를 제외하고 기입한다.
예) path="login" -> 호출 URL은 http://host/login.do 가 된다.
• forward (속성) : Action 호출없이 바로 다른 페이지로 forward한다. (RequestDispatcher.forward 이용)
• include : Action 호출없이 다른 페이지를 include한다.
• type : 가장 일반적으로 사용된다. 작업을 처리할 Action 클래스를 지정한다.
• name : ActionForm을 지정한다. <form-bean>에서 설정된 이름(name)을 지정한다.
• roles : 보안 권한 지정. 쉼표로 보안 권한을 지정한다. 보안 권한은 RequestProcessor의 "processRoles" 메소드를 확장해서 구현한다.
• scope : ActionForm의 스코프를 지정한다.(주로 request, session)
• validate : ActionForm의 validate()를 호출할지 여부. true/false
• input : ActionForm의 validate()가 false를 리턴할 경우 input에 지정된 페이지로 제어가 넘어간다.
• inputForward : input과 같지만, <forward>에 지정된 이름을 사용한다. <controller inputForward="true"/> 여야 사용가능
• unknown : <action>이 지정되지 않는 ActionMapping URL(/*.do) 요청이 들어오면 보여줄 페이지를 지정한다.
<action name="/debug" unknown="true" forward="/pages/debug.jsp"/>
• <forward> (엘리먼트) : 현재 ActionMapping에만 적용되는 지역 ActionForward 설정.
• <exception> (엘리먼트) : 현재 ActionMapping에만 적용되는 지역 ExceptionHandler 설정.
'IT > Java & JSP & FW' 카테고리의 다른 글
struts2 :: 사용자 인터셉터 예제 (2) 2012.04.30 struts2 :: Interceptor(인터셉터) (0) 2012.04.30 struts1 :: Validator 사용하기 (0) 2012.04.25 struts2 :: default.properties 내용 (0) 2012.04.25 struts2 :: JUnit 을 이용해 struts2의 Action 단위 테스트 (0) 2012.04.25