gpt4 book ai didi

java - DropDownChoice Wicket 口获取值

转载 作者:行者123 更新时间:2023-12-02 06:53:49 25 4
gpt4 key购买 nike

所以我在 Wicket 中有我的 DropDownChoice:

final DropDownChoice drop_down_status = new DropDownChoice<String>("status", new PropertyModel<String>(this,"selected_status"), STATUS_LIST);

form.add(drop_down_status);

如何获取选择的值?我必须在按下另一个按钮后获取它并从中准备 sql 语句。

drop_down_status.getRawInput() 和 drop_down_status.getInput() 返回 null (至少在我的情况下)。

干杯

最佳答案

由于您使用 PropertyModel 构建 DropDownChoice,初始化期间显示的选择将对应于 selected_status 变量的值。当 drop_down_status 更改时,属性模型将更新 selected_status 变量。因此,您应该能够仅查看该变量来查看下拉列表中的当前选择。

过去,我从各种输入中获取值时遇到了挫折,但发现以下方法的工作相当一致(选择一个):

  1. 使用“PropertyModel”。这是上面解释的三种解决方案中最干净的。
  2. 如果输入是使用 ModelPropertyModel 构建的,您可以调用 drop_down_status.getModelObject(),然后将返回的对象类型转换回正确的对象对象类型。
  3. 使用“AjaxFormComponentUpdatingBehavior”在对象修改时触发临时更新。

使用 AjaxFormComponentUpdatingBehavior 的示例:

  drop_down_status.add(new AjaxFormComponentUpdatingBehavior("onChange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
selected_status = (Status) getFormComponent().getConvertedInput();
}
}

重申 bert 上面所说的,模型是 Wicket 的核心(即 MVC=Model、View、Controller),它对熟悉它们的用法有很大帮助。

关于java - DropDownChoice Wicket 口获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17675833/

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