2011-11-07 2 views
2

struts2를 사용하는 프로젝트에서 유효성 검사 프레임 워크를 사용하지 않고 Action 클래스에서 Action 클래스의 "input"을 반환하지 않습니다. 여기 내 구성 조각, 여기struts2 유효성 검사 프레임 워크에 결과 입력이 필요합니다

<action name="searchTracker" class="searchAction" method="searchTracker"> 
     <result name="success">/jsp/searchTracker.jsp</result> 
     <result name="error">/jsp/searchTracker.jsp</result> 
     <result name="input">/jsp/searchTracker.jsp</result> 
    </action> 

내가 입력 결과를 제거 할 경우,이

 "No result defined for action SearchTrackerAction and result input" 

같은 예외가 발생합니다 그리고 난 다시 확인하는 경우 Action 클래스

public String searchTracker(){ 

    this.clearErrorsAndMessages(); 

    List<File> files = fileManager.retrieveFiles(patchNumBySearch); 
    if(files == null){ 
     this.setTrackers(null); 
     addActionError("This patch number doesn't exist. Please choose another one !"); 
     return ERROR; 
    } else { 
     if (files.size() == 0) { 
      addActionError("This patch doesn't include any tracker. Please create tracker or choose another patch"); 
      return ERROR; 
      } 
     else { 
      List<Tracker> trackers = commonUtils.convertToTrackers(files); 
      this.setTrackers(trackers); 
     } 
    } 
     return SUCCESS; 
} 

입니다 종료 로그는 입니다. "2011-11-07 00 : 09 : 13,841 DEBUG

com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.debug:68 - Errors on action [email protected], returning result name 'input'" 

왜 DefaultWorkflowInterceptor를 호출하고 결과 이름 입력을 반환합니까?

입력 결과를 다시 구성하면 예외가 사라집니다. 하지만 Action이 첫 번째로 오류가 발생하면 중단 점을 설정하더라도 다시 성공하지 못합니다. 그 후에는 그 방법이 적용되지 않습니다. searchTracker().

답변

2

이것은 유형 변환 오류로 인해 발생할 수도 있습니다. 당신이 보내고있는 것에 대해 더 많이 알지 못해도 그 이상으로 도울 수 없습니다.

"워크 플로"인터셉터를 제거하면 S2는 해당 작업의 오류 검사를 중지합니다. 유형 변환 인터셉터를 제거해야 할 수도 있지만 워크 플로가 충분해야합니다. 유효성 검사를 사용하지 않으면 해당 인터셉터도 제거 할 수 있습니다.

+0

감사합니다. Dave, 워크 플로 인터셉터를 제거하는 방법은 무엇입니까? – user1006080

+0

@ user1006080 자신 만의 [인터셉터 스택] (http://struts.apache.org/2.x/docs/interceptor-configuration.html)을 정의하고 기본 스택으로 사용해야합니다. 난 그냥'defaultStack' 복사하고 그냥 "워크 플로우"제거하려고합니다. –

+0

이 인터셉터 스택을 내 동작 구성에 추가해야합니다. ? – user1006080

관련 문제