gpt4 book ai didi

java - Apache Wicket 中继器 : an overview

转载 作者:太空狗 更新时间:2023-10-29 23:03:02 27 4
gpt4 key购买 nike

Wicket 有很多 AbstractRepeaters 的实现:ListView、DataView、GridView、Loop、PropertyListView 等。

就我个人而言,我发现很难确定哪种 View 最​​适合哪种情况。我通常坚持使用 DataView,但这仅仅是因为我已经习惯了。也许 GridView 更适合场景 A,PropertyListView 更适合 B,....

是否有人知道解释 View 差异的博客或任何教程,或者有人可以解释哪种 View 最​​适合哪种用例?

最佳答案

Wicket 有很多额外的、琐碎的类,这会让您感到困惑。不同的组件更适合不同的场景,但是有很多 Wicket 组件用于极少数情况,不会增加任何真正的复杂性。

例如,RequiredTextField是一个完整的类,相当于:

 TextField x = new TextField("text");
x.setRequired(true);

我认为这源于旧版本,其中需要的设置更复杂,但它仍然会引起一些困惑。

你们的许多中继器都是相似的。 PropertyListView只是将模型包装在 CompoundPropertyModel 中,使属性表达式更容易(见下文)。但是,您可以轻松地自己进行此更改。

因此,这是我的快速总结,因为我无法找到您所描述的最新博客文章:

RepeatingView - 当您没有列表或您要添加不同类型的组件(因此需要不同的内部标记)时非常有用。

ListView - 如果您有 List 则很有用你正在展示整个东西。遗憾的是,它不适用于其他已排序的集合。

DataView - 如果您正在从数据库加载,则很有用。其他方法使您可以轻松地对数据集进行排序、分页和修改。

PropertyListView - 如果您只是通过属性表达式显示值,则很有用。允许你做

 item.add(new Label("name")); 

代替

 item.add(new Label("name", new PropertyModel<String>(item.getModel(), "name")))

Loop - 如果你想重复 Integer 很有用次数而不是一组数据。这相当于 ListView其模型对象是 List<Integer>0 中的整数填充至 length

GridView - 对于获取单个列表(例如 21 个字符串)并使用两组标记(内部/外部)以组(例如 7x3 网格)显示该列表非常有用。但是,它假设您的标记使用了某些 wicket:id,这没有很好的记录。我认为你最好使用一对嵌套的 RepeatingView组件,完成同样的事情。

希望对您有所帮助!

关于java - Apache Wicket 中继器 : an overview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7750639/

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