ActionForm 클래스의 reset() 메소드에 익숙합니까?
이 방법의 수명 목적은 확인란을 재설정하는 것입니다. 양식에 체크 체크 박스가 있고 제출 한 경우 해당 체크 박스가 요청에 표시됩니다. 확인란을 선택하지 않으면 요청에 대해 아무 것도 전송되지 않습니다 (GET 제출은이 동작을 관찰하는 간단한 방법입니다).
Struts는 요청 바인딩을 수행 할 때 요청의 매개 변수 이름을 양식의 매개 변수와 일치시킵니다. 즉, 일치하는 것이 있으면.
지금이 단계 고려 : 나는 ActionForm의에 부울 필드가
- 을;
- 또한 양식에 일치하는 체크 박스가 있습니다.
- 양식 제출 => Struts가 요청을 바인딩하므로 이제 ActionForm에서 내 속성이 true가됩니다.
- 폼의 체크 박스를 선택 해제하고 다시 제출 => 체크 박스에 대한 요청에 아무 것도 보내지 않음 => Struts는 바인딩 할 필요가 없음 => 필드는 ActionForm에 그대로 유지됩니다.
위의 내용은 다중 체크 박스에 적용되지만 하나의 값 대신 배열을 얻습니다.
reset() 메소드를 입력하십시오. 이것은 요청을 바인딩하기 전에 Struts에 의해 호출됩니다. 여기서 필드 값을 false로 설정할 수 있습니다. 요청에 도달하면 Struts는 true => OK로 바꿉니다. 요청에 도달하지 않은 경우 (확인되지 않았기 때문에) 값은 false => OK로 다시 유지됩니다.
멀티 박스의 경우도 마찬가지입니다. 배열 길이를 0으로 줄임으로써 (null이 아닌) ActionForm에서 값 목록을 재설정해야합니다.
ActionForm에 요청 범위가있는 경우 각 요청에서 개체가 다시 만들어 지므로 대개 중요하지 않습니다. 하지만 체크 박스가있는 세션 범위의 ActionForm의 경우 reset()이 필수입니다.