我有一个请求范围的bean,我正在使用Richfaces @KeepAlive(ajaxOnly=true)
来保持bean在ajax请求之间的活动状态。在我的页面上,我有一些a4j:commandButton
,并且背衬豆还可以,在按钮单击之间保持活动状态。
问题是我需要使用a4j:htmlCommandLink
.当我单击链接时,它会在后端创建另一个 bean,但我需要相同的 bean,而不是新的 bean。
在这里,我从我的代码中得到了一些扩展:
@KeepAlive(ajaxOnly=true)
public class testBean
{
public void testMethod(ActionEvent ae) {
...
}
...
}
<a4j:htmlCommandLink value="Print" target="_blank"
actionListener="#{testBean.testMethod}" />
当我使用(点击)htmlCommandLink
时,如何保持豆子活着?
从a4j:htmlCommandLink
:
<a4j:htmlCommandLink>
作为标准<h:commandLink>
请记住,此组件不使用 ajax 调用,因此该行为将作为对服务器的常见请求/响应。在 Bean 中,将 KeepAlive 注释的行为更改为ajaxOnly=false
以避免这些问题。