Wicket이 모델의 DropDownChoice에 대한 선택을 검색하는 방식에 문제가 있습니다.Wicket의 DropDownChoice 선택 덮어 쓰기
예
//User Bean
public class Users {
private Long language_id;
public Long getLanguage_id() {
return language_id;
}
public void setLanguage_id(Long language_id) {
this.language_id = language_id;
}
}
//Language Bean
public class Language {
private Long language_id;
private String name;
public Long getLanguage_id() {
return language_id;
}
public void setLanguage_id(Long language_id) {
this.language_id = language_id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
개찰구의 HTML 렌더링
<form wicket:id="form">
<select wicket:id="language_id"/>
</form>
Jave 코드/개찰구 양식 컴파일 :
이public class UserForm extends Form<Users> {
public UserForm(String id, Users user) {
add(new DropDownChoice<Language>("language_id", Application
.getBean(LanguageDaoImpl.class).getLanguages(),
new ChoiceRenderer<Language>("name", "language_id")));
}
}
문제는 렌더링이 잘 작동한다는 것입니다, 모든 언어가를 드롭 다운 선택에서. 그러나 사용자가 폼에로드되면 Wicket은 Long 값 "language_id"에서 "language"속성을 검색하고 "클래스에 대해 get 메소드가 정의되지 않았습니다 : java.lang.Long ..."과 같은 예외를 throw합니다. Wickets는 전체 Bean "Language"를 Users 객체에 넣기를 기대합니다. 그러나 난 그냥 사용자 개체 및 전체 콩 ID가 있습니다.
개킷을 단순히 ID로만 사용할 수 있으며 전체 개체를 사용할 수 있다고 생각하지 않으려면 어떻게해야합니까? DropDownChoice에서 일부 메서드를 덮어 쓸 필요가 있다고 생각하지만 적합하지 않습니다.
감사합니다. Sebastian
개찰판 버전은 무엇입니까? –
Wicket 6.0.0 Beta3 (최종 6.0.0과 동일해야 함) –