의 RadioChoice에 IModel 해당 두 부울 필드가 나는 두 개의 부울 필드와 사용자 개체가 있습니다. 는 HTML 부분에서지도 개찰구
발췌문 : 개찰구
public class UserForm extends Form<Users> {
public UserForm(String id, Users user) {
super(id, new CompoundPropertyModel<Users>(user));
RadioChoice rChoice = new RadioChoice<Long>("community_settings", choices, renderer);
add(rChoice);
}
}
라디오와
<input type="radio" wicket:id="community_settings"/>
자바 양식 내 문제는 지금은 물론 그 I 인은 사용자의 어떤 속성 community_settings이 개체 없다. 이 두 부울 값을 UI의 라디오 선택에 매핑하기 만하면됩니다.
어떻게 내가 Wicket에서 그것을 할 수 있습니까?
감사합니다. 개인적으로 내가 Enum
을 사용, BTW
RadioChoice<Long> rChoice = new RadioChoice<Long>("community_settings", new IModel<Long>() {
public Long getObject() {
if (user.getShowContactData() && user.getShowContactDataToContacts()) {
return 1L;
}
// ...
}
public void setObject(Long choice) {
if (choice == 1) {
user.setShowContactData(true);
user.setShowContactDataToContacts(true);
} else if (choice == 2) {
// ...
}
}
public void detach() {
}
}, choices);
, 그래서 전혀 특별한지도가 없습니다 : 세바스찬
Wicket 6.0.0 Beta3 (최종 버전과 유사) –
'RadioChoice'는'SingleSelecChoice'를 확장 한 것으로 단일 필드 만 설정할 수 있음을 의미합니다. 예를 들어 선택 목록을 가질 수 있으며 그 중 하나를 선택하려고합니다. http://wicket.apache.org/apidocs/1.4/org/apache/wicket/markup/html/form/RadioChoice.html을 참조하십시오. 여러 필드를 업데이트하려면'Form.onSubmit()'을 덮어 쓰고 거기에서 처리하십시오. 아마 더 나은 해결책이있을 것입니다. –
문제는 다중 선택이 아니거나 아닙니다. 문제는 그 부울 값 중 하나만이 동시에 참일 수 있다는 것입니다. 당신은 자연스럽게 라디오 박스를 사용하여 그것을 해결할 것입니다. –