Jsf 如何在复合组件中缓存数据?

Jsf 如何在复合组件中缓存数据?,jsf,composite-component,Jsf,Composite Component,我一直在使用这个动态列表组件: 我想做的一件事是缓存“list”的原始值,这样,当用户从这个列表中添加或删除某些内容时,我就知道哪些内容被添加/删除了,这样我就可以对它们做一些不同的事情。例如,一个“已删除”的项目只会有一个删除线。或者,“添加的”项目将具有不同的背景,以表明它是最近添加的 我现在唯一能让它工作的方法就是让组件本身包含3个不同的列表 <mycomp:dynamicList list="#{bean.list}" addList="#{bean.addList}"

我一直在使用这个动态列表组件:

我想做的一件事是缓存“list”的原始值,这样,当用户从这个列表中添加或删除某些内容时,我就知道哪些内容被添加/删除了,这样我就可以对它们做一些不同的事情。例如,一个“已删除”的项目只会有一个删除线。或者,“添加的”项目将具有不同的背景,以表明它是最近添加的

我现在唯一能让它工作的方法就是让组件本身包含3个不同的列表

<mycomp:dynamicList list="#{bean.list}" addList="#{bean.addList}" 
    deleteList="#{bean.deleteList}"/>

这似乎过于繁重。只有网页/组件需要知道这三个列表中的差异……一旦表单实际提交,支持bean只需要知道“list”的新值。因此,理想情况下,我只想使用:

<mycomp:dynamicList list="#{bean.list}"/>

利用继承方法提供的JSF视图状态。这基本上与JSF视图范围类似

确保在JSF视图状态下不存储/复制/复制整个模型(列表),而只存储添加/删除项的索引

另见:

谢谢,我将离开1.5周,但我回来后一定会尝试一下!