gpt4 book ai didi

java - Wicket DropDownChoice 不能与 PropertyModels 一起正常工作

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:27:28 27 4
gpt4 key购买 nike

我一直在尝试调试为什么只有 DropDown 和提交按钮的简单形式的 DropDownChoice 现在几个小时都不能正常工作。

它有一个非常奇怪的行为。在下拉选项中选择的第一个值成功发送到服务器后,模型不会更新任何其他选项选择。即,如果我有一个 List persons,并且我选择了第二个人,它会成功提交。但是,在选择另一个人并尝试再次提交时,它会一直显示第一个选择的选项。

代码片段在这里:

 ChoiceRenderer<Empowerment> empowermentChoiceRenderer = new ChoiceRenderer<>("name", "id");
final DropDownChoice<Empowerment> empowermentDropDownChoice =
new DropDownChoice<>("empowerment", new PropertyModel<Empowerment>(this, "empowerment"), empowermentList, empowermentChoiceRenderer);
empowermentDropDownChoice.setRequired(true);
add(empowermentDropDownChoice);

我能够获得体面行为的唯一方法是将上面的赋权变量设置为 null。在这种情况下,在提交时授权被重新初始化为 null,然后新的提交工作正常。

授权只是一个 JPA 实体。

我很高兴知道这是否是一个已知问题。我在wicket 6.9.1和wicket 6.12体验过

最佳答案

终于找到了解决问题的方法。上面的代码是正确的,问题出在实体类本身——Empowerment需要正确实现Equals和Hashcode。

DropDownChoice 在此之后工作正常。

关于java - Wicket DropDownChoice 不能与 PropertyModels 一起正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282781/

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