본문 바로가기
IT/Struts2

struts.xml의 action 설정, 에러발생처리

by Jeami 2013. 7. 24.
반응형



스트럿츠2


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

    

 <struts>

  <package name="web0922"     extends="struts-default">

  <action name="insert"  class="action.InsertAction">

  <result  type="chain">list</result>

  </action>


<action name="list" class="action.ListAction">

<result  name="success">/regList.jsp</result>

</action>

  <action name="detail" class="action.DetailAction">

<result  name="success">/regDetail.jsp</result>

</action>

<action name="delete"  class="action.DeleteAction">

  <result  type="chain">list</result>

  </action>

 

  <action name="editpre" class="action.EditPreAction">

<result  name="success">/regEdit.jsp</result>

</action>

<action name="edit"  class="action.EditAction">

  <result  type="chain">list</result>

  </action>

  </package>

 </struts>

 



많은 사람과 공유할 수 있도록, 로그인 필요없이 추천 한번 부탁드립니다^^

양질의 정보로 보답드릴게요.






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

<action name="list" class="action.ListAction" method="japan">

<result  name="success">/regList.jsp</result>

</action>

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



name="list" ==> class 를 name 속성으로 지정해주었습니다. struts.xml 은 중간다리 역할이니까, 그렇게 이해하면 될 것 같아요. 어렵지 않아요.^^;

위의 예에서 특이한 것은 method="japan" 부분입니다.

struts2 프레임워크는 액션클래스 호출시 디폴트 메소드로 실행메소드 execute() 가 실행이 되는데요. 

method 설정을 해주면, 클래스 안에서 japan() 메소드가 먼저 실행됩니다. 이 메소드가 존재하지 않는다면 본래의 execute() 메소드가 실행이 되고요.

struts.xml 에서 action 설정 해줄 때 기억해둘 부분 중 하나인데, 처음에는 method 를 지정해두지 않는 경우가 많습니다.




스트럿츠2




에러발생 처리

사용자가 액션을 요청했는데, 액션이 존재하지 않을 경우에 에러가 발생합니다.(500 에러) 

이 에러를 방지해 주는 것이 <default-action-ref /> 입니다. 그렇게 많이 사용되지 않는 요소인 것 같지만, 일단 개념은 알아두시는게 좋을 것 같네요.

모든 메소드나 문법을 다 알 수 없기 때문에 그때그때 필요한 것들을 찾을 수 있는 능력이나 논리구조 이해가 필요할 거라고 생각됩니다.

한번 설정해두면, 에러발생시 이 액션이 요청이 자동적으로 실행되게 됩니다. 에러 메시지로 연결되는 메소드를 만들어두는게 됩니다.

아래와 같이 사용될 수 있습니다.


<package name="korea" namespace="/" extends="struts-default">

  <default-action-ref name="defaultAction" />

  <action name="defaultAction" class="korea.defaultAction">

    <result name="success">/World.jsp</result>

  </action>

</package>

struts.xml 에서 위와 같이 설정한 후 action클래스 defaultAction.java 를 만들어줍니다. 



반응형

loading