2013-07-26 3 views
0

후회를 요청한 후 후회합니다. 내 페이지에서 같은 태그를 사용 :봄 MVC 부울 체크 박스에 바인딩되지 않음

<form:checkbox path="Active" label="label" /> 

이 확인란은 올바르게 데이터베이스에서 가져온 부울 값을 기준으로 선택 (또는 선택 해제) 될 것이다. 그러나 확인란의 변경 사항은 엔티티에 바인딩되지 않고 데이터베이스에 다시 저장됩니다. 문제는 내 사업체가 어떻게 구성되었는지에 기인합니다.

private Boolean Active; 

public Boolean getActive() { 
    return this.Active; 
} 

public Boolean setActive(Boolean active) { 
    this.Active = active; 
} 

public boolean isActive() { 
    if (getActive() == null) { 
     return false; 
    } 
    return getActive().booleanValue(); 
} 

그것은 체크 박스에서 선택한 값이 다시 엔티티의 활성 부울 속성에 바인딩되고 함께 "이 isActive()"방법을 방해하는 것으로 나타났다 : 내 엔티티는 다음과 같이 속성과 방법을했다. 메소드 이름을 다른 것으로 변경하면 (예 : "isPersonActive()") 문제가 해결됩니다.

+0

Java에서 대문자로 시작하는 변수 또는 속성 이름을 사용하지 마십시오 !! –

답변

0

개체 및 JSP에서 속성 이름을 active (소문자)으로 변경하십시오.

private Boolean active; 

<form:checkbox path="active" label="label" /> 
관련 문제