2009-07-30 3 views
1

checkbox의 이전 값을 새 값과 함께 가질 수 있습니까?봄에 체크 박스의 이전 값을 가질 수 있습니까?

내 문제는 체크 상자의 값이 true 인 경우에만 코드를 실행해야합니다. 또한 해당 코드가 이미 사실 인 경우에만 동일한 동작을 다시 수행하지 않는 것입니다. 현재 내가하고있는 일은 모든 체크 박스에 대해 이전의 가치 보유자도 있습니다. 값이 변경된 경우에만 작업을 수행하고 이전 값 홀더의 값을 새 값으로 설정합니다.

+0

조치가 서버 측 또는 클라이언트 측에서 수행되는 위치는 어디입니까? 아약스 기반 액션이나 페이지 제출입니까? –

+0

Arun, 저는 이것을 서버 측에서 갖고 싶습니다. –

답변

0

확인란에 변경 수신기를 추가 할 수 있습니다. 체크 박스가 상태를 변경하면 특수 코드를 직접 호출 할 수 있습니다.

또는 체크 박스가있는 환경 설정 페이지가있는 경우 환경 설정 페이지의 상태를 저장하고 내부 상태를 변경했는지 확인해야합니다.

0

spring mvc JSP tablib 또는 velocity/freemarker 매크로를 사용하고 있습니까?

그럴 경우 숨겨진 필드 앞에 HTML의 체크 박스의 기존 값으로 밑줄 "_"가 표시되어야합니다. Spring은 체크 박스가 선택되지 않았는지 또는 제출되지 않았는지를 결정하는데 도움을주기 위해 이것을 수행한다.

사용자는이 숨겨진 필드를 적절하게 적용 할 수 있어야합니다. 즉, 숨겨진 필드의 값을 확인하고이를 실제 체크 박스 필드 값과 비교할 수 있습니다.

0

Spring MVC 2.5 Checkbox tag이 제대로이이 조작이 허용 될 수 있습니다으로 이전 값을 기록하기 위해 클라이언트 측에 의존하지 않고 비교를 수행해야합니다하려면 참조하십시오.

제출시 Spring MVC는 클라이언트에서 제출 된 새로운 값으로 업데이트하기 전에 이전 버전의 명령을 다시 빌드합니다. 바인딩 단계가 시작되기 전에 이전 값을 어딘가에 저장해야합니다.

이렇게하려면 formBackingObject 메서드 (POST 제출 후 다시 호출 됨)에서 값 개체의 복사본을 요청 개체에 넣습니다. 그런 다음 onSubmit 메소드에서 비교 요청의 값을 검색 할 수 있습니다. 명령의 다른 필드에 기록 할 수도 있습니다.

이 부분은 SimpleFormController cheat sheet이 메소드의 실행 순서를 찾는 데 매우 유용하다는 것을 알았습니다. 그것은 당신도 여기서 도움이 될 것입니다.

관련 문제