由于您正在DropDownChoice
使用 a构建您的PropertyModel
,因此在初始化期间显示的选择将对应于您的selected_status
变量的值。更改时drop_down_status
,属性模型将更新selected_status
变量。因此,您应该能够只查看该变量以查看下拉列表中的当前选择。
过去从各种输入中获取值时我感到很沮丧,但发现以下方法的工作相当一致(选择一个):
- 使用`PropertyModel。这是上面解释的三种解决方案中最干净的。
- 如果输入是使用 a 构造的,
Model
或者PropertyModel
您可以调用drop_down_status.getModelObject()
then 将返回的对象类型转换回正确的对象类型。
- 修改对象时,使用“AjaxFormComponentUpdatingBehavior”触发临时更新。
使用 AjaxFormComponentUpdatingBehavior 的示例:
drop_down_status.add(new AjaxFormComponentUpdatingBehavior("onChange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
selected_status = (Status) getFormComponent().getConvertedInput();
}
}
重申一下上面所说的,模型是 Wicket 的核心(即 MVC=Model,View,Controller),它对熟悉它们的用法有很大帮助。