我们最近转换为使用Facelets(1.1.14)的这个Trinidad 1.2应用程序。我们能够使用一些查找和替换操作来解决大多数问题。现在我们遇到了一个无法修改多个代码实例而无法解决的问题。
问题在于,如果我们在命令按钮上使用actionListener
并与子<tr:setActionListener />
结合使用:
<tr:commandButton actionListener="#{someBean.toggleSomeObject}"
immediate="true"
...>
<tr:setActionListener from="#{rowObject}" to="#{someBean.someObject}"/>
</tr:commandButton>
切换到Facelets后,<tr:setActionListener />
不再执行(第一个)。我尝试用<tr:setActionListener />
替换<f:setPropertyActionListener />
,但结果是一样的。
我能想到的唯一选择是使用<f:attribute/>
并在动作侦听器中读取属性,但这需要我更改多个动作侦听器方法。
我希望还有其他选择需要更少的工作。
答案 0 :(得分:0)
此行为是预期的。它以前“工作”只是由一个错误造成的。你不应该依赖有缺陷的行为。
使用<tr:commandButton action>
代替(并且不要忘记摆脱ActionEvent
参数)。