본문 바로가기

web/struts

struts 이번엔 class를 이용한 forward!

-0- 뭐... mvc 할땐 항상 class로 포워드를 해서.. (물론 xml 상에서 하면 편하긴 하지만 직접적으로 제어가 불가능하니.. 어떤 값에 따라 어디로 간다든지 하는 제어가 필요하니 당연히 class로 하는게 맞는거다.)

고칠곳은 두군대면 충분하다.
struts-config.xml 과 새로 작성해야 하는 result.java 파일

먼저 struts-config.xml 파일.

 <action path="/login" type="result">
<forward name="result" path="/result.jsp"> </forward>
 </action>


이부분을 추가 했다. 위의  action 부분을 주석 처리 하여 다르게 포워딩 하는것을 볼수있다.(주석처리 해줘야 합니다!)
여기서 forward 의 이름은 받을 포워드 이름 (java파일에서 나온다.) path 는 넘겨질 jsp 파일이다.

이번엔 java 파일(저의 경우 result.java로 만들었습니다. 혹시나 어제의 result.jsp 와 혼동하지 마시길..)

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class result extends Action{

        public ActionForward execute(ActionMapping mapping, ActionForm from, 
                HttpServletRequest request, HttpServletResponse response) throws Exception{
            return mapping.findForward("result") ;
        }
}

import 하는 부분에서 org.apache.struts.* 부분에 에러가 난다면 lib에 추가를 하지 않해줘서 그럽니다.
tomcat\lib 폴더에 들어 있는  commos, cos , jsp-api, servlet-api, standard, struts-* 들의 파일들을 import 시키면 에러가 사라집니다.
대략 마구잡이 식으로 하셔도 상관 없습니다.

이제 서버를 실행 하고 버튼을 눌러봅니다.


당연히 같은 모습이다. 실질적으로 jsp 의 모습을 바꾸지 않았으니 말이다. 
단지 지나가는 경로가 달라졌다는 것만 확인 하면 된다. 

'web > struts' 카테고리의 다른 글

struts 설정 및 테스트  (0) 2010.11.28