gpt4 book ai didi

java - 如何在 Tapestry 5 中使用带有网格或循环组件的基类或接口(interface)?

转载 作者:行者123 更新时间:2023-12-04 07:09:41 27 4
gpt4 key购买 nike

我有一个扩展 BaseA 并实现 InterfaceA 的具体类 A。我想使用基类或接口(interface)作为循环变量来循环 A 列表。尝试这样的事情:

<t:loop source="listOfA" value="propertyOfTypeBaseA">
${propertyOfTypeBaseA.someField}
</t:loop>

给我一个错误“找不到从类型 A 到 BaseA 的强制”。当我将值设置为 InterfaceA 类型的属性时,也会发生同样的事情。如果我使用 Object 作为循环变量类型,我可以让循环工作,但是我无法访问具体类或接口(interface)上的任何字段。

似乎 Tapestry 应该知道如何从一个对象强制转换为它实现的接口(interface),但我也尝试将强制从 A 贡献到 BaseA/InterfaceA 并且它仍然给了我这个错误,即使它实际上在列表中显示了强制。

有任何想法吗?

最佳答案

如果不在 Tapestry 管理的包中,该界面将工作。而且我现在知道“基本”包是 Tapestry 除了页面和组件之外还管理的包。我已经将我的基类和接口(interface)放在那个包中,认为它们不会受到 Tapestry 的类加载器 voodoo 的影响。将它们移出后,我仍然需要为基类提供强制转换,但不需要为接口(interface)提供强制转换。

关于java - 如何在 Tapestry 5 中使用带有网格或循环组件的基类或接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/580991/

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