我必须创建一个 JSF 复合组件,其中我必须传递如下所示的属性:
<composite:attribute name="noteList" type="XXX" required="true"></composite:attribute>
what should I pass in type attribute if it is a List of type Note class?
我知道我可以制作 type="java.util.List",但是如何使其特定于 Note 类型的列表?
最佳答案
but how can I make it specific to List of type Note
不幸的是,你不能。它是在运行时确定的,在此期间通用类型信息已经丢失。从技术上讲,这可以使用反射技巧来解决,但是 JSF 和 EL 规范人员可能有自己的原因不指定它。
您最好的选择是将其替换为自定义子类,如下所示:
public class Notes extends ArrayList<Note> {}
<cc:attribute ... type="com.example.model.Notes" />
但这可能需要更改模型。
关于jsf - 如何在 JSF 复合组件中传递 List<Note>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31453880/