在p:对话框中的JSF更新输入

时间:2017-12-16 11:37:32

标签: jsf dialog illegalargumentexception

我希望在打开它之前禁用p:对话框中的输入,当我关闭它时,需要再次禁用它。

我在bean中创建了一个布尔变量,并且输入已禁用=布尔值,它应该正常工作。打开对话框的按钮具有操作和更新属性。在操作中我把改变布尔值的方法,并在更新我想要更新的元素(输入),但我得到一个例外:

java.lang.IllegalArgumentException: Intermediate identifier ventanaReserva in search expression ventanaReserva:gridReserva:usuario identifies a UIComponent that is not a NamingContainer

<h:form id="form" class="formulario">
...
<center><br/>
    <h:commandButton id="botonReserva" value="Reservar" onclick="PF('dlg').show();" 
      disabled="#{queryBean.noReservable}" action="#{queryBean.manejarApertura}" update=":form:nom :form:ventanaReserva:gridReserva:usuario" type="button" >
        <f:ajax execute="@this" render=":form:nom" />
    </h:commandButton> 

    <p:dialog id="ventanaReserva" header="Reservar oferta" widgetVar="dlg" focus="usuario" resizable="false">
        <p:ajax event="close" update=":form:nom :form:ventanaReserva:gridReserva:usuario" listener="#{queryBean.manejarCierre}" />
        <h:panelGrid id="gridReserva" columns="2" cellpadding="5">
            ...
            <h:inputText id="usuario" value="#{queryBean.usuario}" disabled="#{queryBean.inputUsuarioDesactivado}" /><br/>
            ...
        </h:panelGrid>
    </p:dialog>

    ...
</center>

0 个答案:

没有答案