Richfaces 4 tabPanel actionListener 在第一次调用时不起作用
我在使用 JSF2 在 Richfaces 4 中创建工作 tabPanel 时遇到问题。
每次我选择一个选项卡时,我都可以看到 ajax 请求已发送,但它没有调用我的支持 bean 中的 actionListener 方法(我通过在调试模式下运行知道这一点)。
当我再次选择该选项卡时,它将起作用(我再次处于调试模式,并且可以看到它进入 myBean.activateTab 方法)。
TabPanelTest.xhtml
<h:form id="myFormTest">
<rich:tabPanel id="myTabPanel" value="Tab1" activeItem="#{myBean.tabState.selectedTab}"
switchType="ajax">
<rich:tab id="Tab1" label="Tab 1" actionListener="#{myBean.activateTab}">
<ui:include src="myTab.xhtml">
<ui:param name="filterText" value="Tab 1" />
</ui:include>
</rich:tab>
<rich:tab id="Tab2" label="Tab 2" actionListener="#{myBean.activateTab}">
<ui:include src="myTab.xhtml">
<ui:param name="filterText" value="Tab 2" />
</ui:include>
</rich:tab>
</rich:tabPanel>
</h:form>
myBean.java
public void activateTab(ActionEvent ae)
{
String componentId = ae.getComponent().getId();
}
非常感谢任何帮助。
I'm having trouble creating a working tabPanel in Richfaces 4 with JSF2.
Every time I select a Tab I can see the ajax request been sent, but it is NOT calling the actionListener method in my backing bean (I know this from running in Debug mode).
When I select the tab again, it will work (Again I am in debug mode and can see it going into the myBean.activateTab method).
TabPanelTest.xhtml
<h:form id="myFormTest">
<rich:tabPanel id="myTabPanel" value="Tab1" activeItem="#{myBean.tabState.selectedTab}"
switchType="ajax">
<rich:tab id="Tab1" label="Tab 1" actionListener="#{myBean.activateTab}">
<ui:include src="myTab.xhtml">
<ui:param name="filterText" value="Tab 1" />
</ui:include>
</rich:tab>
<rich:tab id="Tab2" label="Tab 2" actionListener="#{myBean.activateTab}">
<ui:include src="myTab.xhtml">
<ui:param name="filterText" value="Tab 2" />
</ui:include>
</rich:tab>
</rich:tabPanel>
</h:form>
myBean.java
public void activateTab(ActionEvent ae)
{
String componentId = ae.getComponent().getId();
}
Any help greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧......我最终自己找到了解决方案!
我从每个 rich:tab 中删除了 actionListener,而是使用 a4j:ajax 来监听 itemChanges
Ok....I eventually found the solution myself!
I removed the actionListener from each rich:tab and instead used a a4j:ajax to listen for itemChanges