从PrimeFaces切换到jsf / html时,<f:ajax>包含一个未知的id </f:ajax>

时间:2013-02-07 19:09:11

标签: ajax jsf primefaces facelets

这是我的第一个问题:)

我的代码如下:

<?xml version="1.0"?>

<f:view xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.org/ui"
    >

    <h:head />

    <h:body>
        <h:form id="filterForm">
            <h:outputStylesheet library="css" name="main.css" />
            <div id="filterPane">
                <h:panelGroup rendered="#{not empty filters.categories}">
                    <div class="filter">
                        <div class="filterCategories" style="width: 100%;">
                            <h4>Kategorien</h4>
                            <p />
                            <h:selectManyCheckbox layout="pageDirection"
                                value="#{filters.selectedCategories}"
                                valueChangeListener="#{filters.categoryValueChanged}">
                                <f:selectItems value="#{filters.categories}" var="category"
                                    itemLabel="#{category.displayName} (#{category.count})"
                                    itemValue="#{category.name}" />
                                <f:ajax render="@form" />
                            </h:selectManyCheckbox>
                        </div>
                    </div>
                </h:panelGroup>
            </div>
        </h:form>
    </h:body>

</f:view>

我遇到的问题与我之前的其他人一样@stackoverflow - 但是没有一个建议的解决方案对我有用。

<f:ajax> contains an unknown id 'A5539:filterForm:j_idt9' - cannot locate it in the context of the component j_idt9

在我从<p:selectManyCheckbox切换到<h:selectManyCheckbox之前,代码工作正常。

我们需要更改为<h:selectedManyCheckbox,因为PrimeFaces变体不能为非JavaScript用户选择。我需要通过<h:form id="filterForm">元素重新呈现<f:ajax>形式作为我的AJaX请求的结果。

在初始<f:ajax render="@form" />旁边,我尝试使用以下变体引用<h:form id="filterForm">元素失败:

<f:ajax render=":filterForm" />
<f:ajax render=":#{component.parent.parent}" />

我也尝试了一些更愚蠢的。

任何提示,任何人!? :)

0 个答案:

没有答案