返回a4j:使用bean生成的rich:dropDownMenu包含内容

时间:2010-01-29 00:28:24

标签: java ajax jsf richfaces

我可能会错过几点,但我已经将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。

如何做到这一点的任何指示将不胜感激 标记

2 个答案:

答案 0 :(得分:1)

您没有在代码中的任何位置(在菜单项中)设置reRender属性,因此在您从下拉列表中选择项目后,面板将不会更新。

您还必须将每个menuItem的ajaxSubmit属性设置为true才能执行ajax请求。还要检查你的监听器是否已被执行。

看一下示例http://livedemo.exadel.com/richfaces-demo/richfaces/dropDownMenu.jsf?c=dropDownMenu。如果需要,可以从richfaces站点下载代码。

答案 1 :(得分:0)

如果可能,应避免使用bindingTake a look at the RichFaces demo - 每个示例都有源代码,并了解它是如何实现的。

(这不能回答你的问题,为了更好:) :)