[default-action-ref]
디폴트 액션
<default-action-ref name="hello2" />
http://localhost:8080/struts/tete.action를 요청해도(잘못된 경로를 요청하면) hello2를 불러줌
[default-class-ref]
디폴트 클래스
<action name="hello2">
<result>/0223/result.jsp</result>
</action>
액션의 이름은 정해주었지만 클래스를 지정하지 않았을때는 정해놓은 디폴트 클래스를 불러준다
<default-class-ref class="test.action.HelloWorld" />
클래스를 등록하지 않았을 경우 디폴트로 처리해줄 클래서를 등록!
주의 점은 이 두 태그(디폴트 설정태그)는 패키지태그안에서 가장 처음에 나와야 한다.
<default-action-ref name="hello2" />
<default-class-ref class="test.action.HelloWorld" />
<action name="hello">
<result>/0223/hello.jsp</result>
</action>
<action name="hello2" class="test.action.HelloWorld">
<result>/0223/result.jsp</result>
</action>
[global-results]
액션이 여러개가 있을때
global result를 설정해서 동일한 결과를 보기쉽게 설정할수 있다.
즉, 모든 hello와 hello2액션 모두 결과가 ok이라면 ok.jsp로 이동할 것임!
success일때만 해달 jsp로 이동
<struts>
<package name="test" extends="struts-default
<global-results>
<result name="ok">/0223/ok.jsp</result>
<result name="save">/0223/save.jsp</result>
</global-results>
<action name="hello" class="test.action.HelloAction">
<result>/0223/hello.jsp</result>
</action>
<action name="hello2" class="test.action.HelloWorld">
<result>/0223/result.jsp</result>
</action>
</package>
</struts>
[global-exception-mappings]
글로벌익셉션맵핑은 예외를 처리함
<global-exception-mappings>
<exception-mapping result="ok" exception="java.lang.Exception" />
</global-exception-mappings>
"액션을 실행하다가 예외가 발생한다면 ok로 리턴하라"의 의미
public String execute() throws Exception {
System.out.println(0/0);// 예외 발생
return SUCCESS;
}
0/0이 예외이기 떄문에 ok로 이동함!!
[exception-mapping]
그리고 액션태그에서도 익셉션 맵핑을 할 수 있음
근대 보통 안함(안쓰임)
<action name="hello2" class="test.action.HelloWorld">
<exception-mapping result="save" exception="java.lang.Exception" />
<result>/0223/result.jsp</result>
</action>