jsf - 如何在 JSF 复合组件中传递 List<Note>?

标签 jsf composite-component parameterized-types

我必须创建一个 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/

相关文章:

javascript - 在 JSF 复合组件中集成 JavaScript,干净的方式

Java 对象转换不能像我需要的那样工作

java - 为什么java中的 "super type token"模式需要匿名类

css - 如何设置 p :carousel width to 100%?

jsf-2 - 是否可以在复合组件内调用参数化方法签名?

jsf - 为什么我的 JSF 复合构面在未渲染构面时会进行验证

java - 如何实现类型参数是参数化类型的约束

ajax - PF 自动完成完成方法未被触发

jsf - 避免在移动设备上选择 selectOneMenu 时显示键盘

java - JSF 注销页面 - 最佳实践 : is it correct to use one common bean?