BaseA を拡張し、InterfaceA を実装する具体的なクラス A があります。基本クラスまたはインターフェイスのいずれかをループ変数として使用して、 A のリストをループしたいと考えています。このようなことを試してみてください:
<t:loop source="listOfA" value="propertyOfTypeBaseA">
${propertyOfTypeBaseA.someField}
</t:loop>
「タイプAからBaseAへの強制が見つかりませんでした」というエラーが表示されます。タイプ InterfaceA のプロパティに値を設定すると、同じことが起こります。Object をループ変数の型として使用すると、ループを機能させることができますが、具体的なクラスまたはインターフェイスのどのフィールドにもアクセスできません。
Tapestry は、オブジェクトからそれが実装するインターフェイスに強制する方法を知っている必要があるようですが、A から BaseA/InterfaceA に強制を提供しようとしましたが、実際には強制がリストに示されていても、それでもエラーが発生しました。
何か案は?