Session 会话范围的托管bean和actionListener
我想用同一个按钮在不同的托管bean上执行多个操作,一个是作用域会话,另一个是请求。在我的例子中,我对这两个都使用相同的bean index.xhtmlSession 会话范围的托管bean和actionListener,session,jsf,Session,Jsf,我想用同一个按钮在不同的托管bean上执行多个操作,一个是作用域会话,另一个是请求。在我的例子中,我对这两个都使用相同的bean index.xhtml <h:form> <p:commandButton image="ui-icon ui-icon-notice" action="#{controller.inc()}" update="result"> <f:actionListener type="control
<h:form>
<p:commandButton image="ui-icon ui-icon-notice" action="#{controller.inc()}" update="result">
<f:actionListener type="controller.Controller" />
</p:commandButton>
</h:form>
<p:panel id="result">
#{controller.count}
</p:panel>
当我按下按钮时,计数增加1,而不是1001,并创建一个新bean。我做错了什么
谢谢。这是意料之中的行为。
在每个声明上创建并获取自己的bean实例。它不重用由JSF管理的同一会话范围bean
您需要使用binding
来绑定到已经创建的会话范围的bean实例
<f:actionListener binding="#{controller}" />
<f:actionListener binding="#{controller}" />