2010-08-13 4 views
0

개체의 "편집"보기로 여러 양식의 JSP가 있습니다. 이제 양식 중 하나를 보내기를 원하지만 입력 필드 중 하나가 채워지지 않았기 때문에 validate 메서드에 오류가 있습니다.ActionErrors가있는 여러 양식의 JSP로 어떻게 되돌릴 수 있습니까?

빈 유효성을 검사하고 오류가 발견, Struts는 내 struts-config.xml에서 콩의 입력으로 정의 된 JSP로 돌아갑니다. 그러나 이제는 다른 형태의 가치관이 누락되었습니다.

어떻게이 문제를 해결할 수 있습니다, 그래서 다시 작성 모든 형태와 JSP로 돌아갑니다있을거야? 스트럿츠가 제출 한 양식에서 매개 변수를 수신하면

답변

1

, 그것은 ActionForm의 객체로 결합하고 ActionForm의 객체에 대한 유효성 검사를()를 호출합니다. 바인드 된 매개 변수는 페이지로 돌아 가면 페이지에 값이 있어야합니다. ; 귀하의 질문에서, 그것은 이 될 가능성이 보인다 - 확인란을 치료하기 위해 리셋() 메소드를 부족

  1. :

    이 메커니즘을 방해 할 수있는 몇 가지가 있습니다

  2. 체인 페이지 호출에 사용 "요청"범위와 형태를 갖는 - 다시이 될 가능성을;
  3. 가장 가능한 원인 - 당신이 페이지에 여러 형태가 있지만 당신은 단지 때문에 다른 형태의 필드가 서버에 전송되지 않습니다 중 하나를 제출합니다. 결과적으로, Struts는 바인딩 할 것이 없습니다. 페이지로 돌아 가면 값이 누락되었습니다. 이것은 Struts 문제가 아닙니다. 모든 필드를 한 양식에 포함 시키거나 JS를 사용하여 다른 양식의 필드를 제출하여이 문제를 해결할 수 있습니다. 유사한 문제 here을 참조하십시오.
+0

오른쪽은 3. 내 문제입니다. 이미 하나의 빈에 모든 양식을 통합하기 시작했습니다. 어떤 종류의 "action"속성을 사용해야 만 원하는 작업을 결정할 수 있습니까? 아니면 struts-config.xml을 사용하여 새로운 모든 knowing-bean을 다른 작업에 할당 할 수 있습니까? – cringe

+0

선택할 솔루션은 애플리케이션에 따라 다릅니다. 문제가있는 곳을 알았으므로 가장 쉽고 관리하기 쉬운 솔루션을 선택하십시오. "action"속성과 관련하여 org.apache.struts.actions.LookupDispatchAction 또는 org.apache.struts.actions.DispatchAction을 사용하여 앱을 관리 할 수 ​​있다고 생각합니다. 앱에 많은 오버 헤드가 발생하지 않으면이를 관리 할 수 ​​있습니다. –

관련 문제