• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 1283
2006.09.27 (22:32:33)
현재 struts + gauce 4.0 으로 개발하려 합니다.

보통 struts 에서 작업시
Controller 는 struts Action 을 사용하고
View 는 jsp 로 처리합니다.

그런데 Gauce 에서 DataSet Header 생성시 View (jsp) 는 필요하지 않기 때문에
struts Action 에서 DataSet 을 생성 하고 싶습니다.

struts Action 에서 비지니스 로직을 처리하고 setAttribute 하고 나서
jsp 로 포워드(ActionForward) 시킨후 jsp 에서 gdml 로 처리시 잘 나옵니다.

그런데 jsp 를 두지 않고 Action 내부에서 DataSet Header  를 생성하니 에러가 납니다.

public ActionForward listContent(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
    
    GauceInputStream gis = ((HttpGauceRequest) request).getGauceInputStream();
    
    GauceOutputStream gos = ((HttpGauceResponse) response).getGauceOutputStream();
    
    GauceDataSet dSet_master = new GauceDataSet("dataset_master");
    gos.fragment(dSet_master);
    
    ......
    DataSet 생성
    ......
    
    gos.write(dSet_master);
        gos.close();
                        
    return null;
            
}

DataSet 은 생성되어 화면 Grid 에 잘 나옵니다.

문제는 Struts 에서 에러가 나더군요.

java.lang.IllegalStateException: can't forward after committed

에러가 나더군요.

DataSet 생성을 Action 에서 담당하고 싶은데..
잘되질 않네요..

Spring MVC 사용할 경우
ModelAndView 를 null 로 리턴해서 처리하니 되더군요...


그럼 수고하세요  
 
Tag List
XE Login