我可能会错过几点,但我已经将jsf / richfaces应用程序混在一起,希望能够做最简单的基于ajax的导航:
主页包含对我的支持bean菜单的引用
<h:form>
<rich:dropDownMenu binding="#{PrismBacking.nodeMenu}" />
</h:form>
this指的是支持bean方法的代码
这是我的主页ajax面板
<rich:panel id="content">
<a4j:include viewId="#{PrismBacking.viewId}" />
</rich:panel>
我无法弄清楚如何让backing bean使用rich:dropDownMenu中的选定项来更新getViewId返回的内容。
我猜: 1)我需要确保getNodeMenu方法中的菜单项具有正确的有效负载,因此使用正确的String调用setViewId并且我的rich:panel id =“content”是reRendered。如何做到这一点的任何指示将不胜感激 标记
答案 0 :(得分:1)
您没有在代码中的任何位置(在菜单项中)设置reRender属性,因此在您从下拉列表中选择项目后,面板将不会更新。
您还必须将每个menuItem的ajaxSubmit属性设置为true才能执行ajax请求。还要检查你的监听器是否已被执行。
看一下示例http://livedemo.exadel.com/richfaces-demo/richfaces/dropDownMenu.jsf?c=dropDownMenu。如果需要,可以从richfaces站点下载代码。
答案 1 :(得分:0)
如果可能,应避免使用binding
。 Take a look at the RichFaces demo - 每个示例都有源代码,并了解它是如何实现的。
(这不能回答你的问题,为了更好:) :)