带有ajax的commandLink在JSF2中不起作用

时间:2012-09-12 10:35:38

标签: ajax jsf-2

我遇到f:ajax标签的问题。我想在点击commandLink后显示和隐藏一些数据,但是我收到错误:

error from browser

我的代码:

<h:form prependId="false" id="contactDataForm">
    <h:commandLink value="Edit" action="#{cc.attrs.userBB.showHideEditForm()}">
        <f:ajax render="editableContactData notEditableContactData"/>
    </h:commandLink>
    <h:panelGroup id="notEditableContactData" rendered="#{cc.attrs.userBB.show == false}">
        test1
    </h:panelGroup>
        test2
    </h:panelGroup>
</h:form>

1 个答案:

答案 0 :(得分:2)

我认为你得到的错误是因为你试图引用未从f:ajax呈现的元素,而是:引用h:panelGroup的包装,可能是也可能不是呈现

包裹notEditableContactData,基本上如此:

尝试改变

<h:panelGroup id="notEditableContactData" rendered="#{cc.attrs.userBB.show == false}">
    test1
</h:panelGroup>

<h:panelGroup id="notEditableContactData" rendered="#{cc.attrs.userBB.show == false}">
   <h:panelGroup rendered="#{cc.attrs.userBB.show == false}">
        test1
    </h:panelGroup>
</h:panelGroup>

为其他h:panelGroup做同样的事情

看看我的这个答案Can you update an h:outputLabel from a p:ajax listener?