如何在JSF复合组件中传递List <note>?

时间:2015-07-16 12:15:00

标签: jsf composite-component parameterized-types

我必须创建一个JSF复合组件,我必须传递如下属性:

<composite:attribute name="noteList" type="XXX" required="true"></composite:attribute>
  

如果是类型为Note的列表,我应该在类型属性中传递什么   类?

我知道我可以创建type =“java.util.List”,但是如何让它特定于List类型注意?

1 个答案:

答案 0 :(得分:2)

  

但是如何使其特定于类型注释列表

不幸的是,你不能。它在运行时期间确定,在此期间通用类型信息已经丢失。从技术上讲,这可以使用反射技巧来解决,但JSF和EL规范的人可能有自己的理由不指定它。

您最好的选择是将其替换为自定义子类,如下所示:

public class Notes extends ArrayList<Note> {}
<cc:attribute ... type="com.example.model.Notes" />

但这可能需要更改模型。