我必须创建一个JSF复合组件,我必须传递如下属性:
<composite:attribute name="noteList" type="XXX" required="true"></composite:attribute>
如果是类型为Note的列表,我应该在类型属性中传递什么 类?
我知道我可以创建type =“java.util.List”,但是如何让它特定于List类型注意?
答案 0 :(得分:2)
但是如何使其特定于类型注释列表
不幸的是,你不能。它在运行时期间确定,在此期间通用类型信息已经丢失。从技术上讲,这可以使用反射技巧来解决,但JSF和EL规范的人可能有自己的理由不指定它。
您最好的选择是将其替换为自定义子类,如下所示:
public class Notes extends ArrayList<Note> {}
<cc:attribute ... type="com.example.model.Notes" />
但这可能需要更改模型。