gpt4 book ai didi

Wicket - 选中对象的 DropDownChoice

转载 作者:行者123 更新时间:2023-12-04 23:27:31 25 4
gpt4 key购买 nike

我在使用 DropDownChoice 时遇到问题。我必须预先选择一个项目,但我找到的每个教程和示例都只考虑原始类型列表。

我有一个对象列表。

class myObject {
private String name;
private String surname;
[setter and getter]
}

在其他类(class)

List<MyObject> myList = some_data_retrieve();
MyObject defaultValue = some_simple_data_retrieve();

要使用以下构造函数构建 DropDownChoice im:

final DropDownChoice<T> ddc = new DropDownChoice<T>(id, data, new ChoiceRenderer<T>(choiceRendererExpression, choiceRendererIdExpression));

通过这种方式:

final DropDownChoice<myObject> ddc = new DropDownChoice<myObject>("wicket_id", myList, new ChoiceRenderer<myObject>("name", "surname"));

现在。在每个教程/示例中,他们使用另一个带有模型的构造函数。例如:

private static final List<String> SEARCH_ENGINES = Arrays.asList(new String[] {
"Google", "Bing", "Baidu" });
private String selected = "Google";
DropDownChoice<String> listSites = new DropDownChoice<String>(
"sites", new PropertyModel<String>(this, "selected"), SEARCH_ENGINES);

我尝试过类似这样的方法来模拟这种调用:

final DropDownChoice<myObject> ddc = new DropDownChoice<myObject>("wicket_id", new PropertyModel<myObject>(this,"defaultValue"),myList, new ChoiceRenderer<myObject>("name", "surname"));

但我得到的是一个错误:

No get method defined for class: package$WicketPage expression: defaultValue

请帮我理解。

谢谢

最佳答案

这意味着您需要在添加 DropDownChoice 的页面或组件中添加“defaultValue”的 getter 和 setter。

public class MyPage extends WebPage {

private MyObject defaultValue;

public MyPage(PageParameters pageParameters) {
super(pageParameters);

defaultValue = some_simple_data_retrieve();
List<MyObject> myList = some_data_retrieve();

add(new DropDownChoice<myObject>(
"wicket_id",
new PropertyModel<MyObject>(this,"defaultValue"),
myList,
new ChoiceRenderer<MyObject>("name", "surname")
);
}

public MyObject getDefaultValue() {
return defaultValue;
}

public void setDefaultValue(MyObject defaultValue) {
this.defaultValue = defaultValue;
}
}

关于Wicket - 选中对象的 DropDownChoice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10352108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com