是否有人知道将对象作为参数从一个复合组件传递到另一个子组合组件是否是线程保存?
我有一个复合组件A,它使用另一个复合组件A'作为子组件,并将对象作为参数cc.attrs.parameter传递给A'。
A以相同的形式使用两次:
组件A:
<cc:interface>
<cc:attribute name="value"/>
</cc:interface>
<cc:implementation>
<cdef:myChildComponent value="${cc.attrs.value}"/>
<!-- Show data from value -->
</cc:implementation>
组件A'(myChildComponent):
<cc:interface>
<cc:attribute name="value"/>
</cc:interface>
<cc:implementation>
<h:commandLink action="${cc.attrs.value.load}">
Reload Data
</h:commandLink>
</cc:implementation>
如果您通过Ajax单击按钮,则会从bean重新加载数据。但实际上,一个A中的Button重新加载了第二个A的数据...(我正在使用id和那些东西将两个A分开)
如果我直接在A中复制A'中的代码,那么就不会使用子复合组件。这种效果不会出现。
看起来复合组件之间的参数传递不是线程安全的......奇怪的是......