오늘 새로운걸 하나 발견해서 올립니다.
이미 알고 계신 분들이야 "머 이까이꺼~" 이러시겠지만...
저한테는 새롭네요. ㅎㅎ;;;
저는 struts 설정 파일에서 action mapping 때 항상 forward 태그의 path 값에 ***.jsp를 썼었습니다. 근데 오늘 갑자기 Null값과 관련된 에러가 발생해서 고심하던 중 path값에 ***.do를 쓰는 경우도 있다는 것을 알았습니다.
쉬운 예로 아래와 같이 쓸 수 있다는 거죠.
<action path="/login" scope="request" type="LoginAction" validate="false">
<forward name="ok" path="login.jsp" />
<forward name="no" path="logout.do" />
</action>
그럼 path를 jsp 로 해주는것과 do 로 해주는것의 차이는 무엇일까요??
do 로 해주는 경우는 페이지가 로딩될 당시 Action 파일을 통해 받아야 할 데이터가 있는 경우입니다.
위 예로 설명하자면 logout.do는 login.do처럼 정의된 액션이고 만약 logout.jsp로 연결된다고 할때 logout.jsp에서 받아야 할 필요한 데이터가 있을 경우...
그 데이터는 logout.do에 정의된 LogoutAction을 통해서만 받을 수 있다면 logout.jsp로 바로 forward 시킨다면 logout.jsp 를 화면에 보일 때 데이터가 필요한 부분에서 에러가 발생될 여지가 많다는 것이죠~~
아직 저도 많이 초보라..
이 글을 읽는 분들도 이해가 되셨으면 좋겠네요... ㅡㅡㅋ
혹시나 제글에 문제점이 있거나 잘못된 점이 있다면 항상 알려주세요. ^^