Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未使用Ajax更新Bean值_Ajax_Jsf 2_Richfaces - Fatal编程技术网

未使用Ajax更新Bean值

未使用Ajax更新Bean值,ajax,jsf-2,richfaces,Ajax,Jsf 2,Richfaces,我有一个里面有表格的PopupPanel。表单以前是由ajax呈现的,因此由于richfaces的一些问题/缺陷,我不得不将a4j:commandButton放在表单外部,并带有execute属性 当我点击按钮时,它调用服务器,但bean值没有更新 有什么建议吗 我表格的简化代码: <rich:popupPanel id="workOrderPopup" modal="true" resizeable="true" onmaskclick="#{rich:component('workOr

我有一个里面有表格的PopupPanel。表单以前是由ajax呈现的,因此由于richfaces的一些问题/缺陷,我不得不将
a4j:commandButton
放在表单外部,并带有
execute
属性

当我点击按钮时,它调用服务器,但bean值没有更新

有什么建议吗

我表格的简化代码:

<rich:popupPanel id="workOrderPopup" modal="true" resizeable="true"
onmaskclick="#{rich:component('workOrderPopup')}.hide()" width="750" height="420">
  <h:form id="editWorkOrderForm" onkeypress="if (event.keyCode == 13) { document.getElementById('workOrderEdition:saveWO').click(); return false; }">
          [[[FORM FIELDS]]]
  </h:form>
  <a4j:commandButton id="createWO" value="Guardar" action="#{ticketCont.saveWorkOrder()}" 
          render="workOrders,footer" execute="editWorkOrderForm" oncomplete="#{rich:component('workOrderPopup')}.hide()"/>
</rich:popupPanel>
<rich:popupPanel id="workOrderPopup" modal="true" resizeable="true"
onmaskclick="#{rich:component('workOrderPopup')}.hide()" width="750" height="420">
  <h:form id="editWorkOrderForm" onkeypress="if (event.keyCode == 13) { document.getElementById('workOrderEdition:saveWO').click(); return false; }">
    <table width="100%" id="editWorkOrderTable">
      <tr>
        <td>
          <h:outputText value="ID" for="editedWOId"/><br/>
          <h:inputText value="#{ticketCont.workOrder.id}" id="editedWOId" readonly="true" size="7"/>
        </td>
        <td>
          <h:outputText value="Descripción" for="editedWODescription"/><br/>
          <h:inputText value="#{ticketCont.workOrder.description}" id="editedWODescription"/>
        </td>
        <td>
          <h:outputText value="Estado" for="editedWOState"/><br/>
          <h:selectOneListbox value="#{ticketCont.workOrder.status}">
            <f:selectItem itemLabel="Abierto" itemValue="0"/>
            <f:selectItem itemLabel="Cerrado" itemValue="1"/>
          </h:selectOneListbox>
        </td>
        <td>
          <h:outputText value="Tiempo (en horas)" for="editedWOTime"/><br/>
          <rich:inputNumberSpinner value="#{ticketCont.workOrder.workHours}" inputSize="4"/>
        </td>
      </tr>
      <tr>
        <td colspan="4">
          <div align="center">
            <h:outputText value="Recursos" for="editedWOResources"/><br/>
            <rich:pickList value="#{ticketCont.workOrder.resources}" var="_resource" listHeight="200px" id="editedWOResources">
              <f:selectItems value="#{ticketCont.activeResources}"/>
              <f:converter converterId="es.caib.gesma.gesman.data.converter.ResourceConverter" />
              <rich:column>
                #{_resource.name}
              </rich:column>
            </rich:pickList>
          </div>
        </td>
      </tr>
    </table>
  </h:form>
  <a4j:commandButton id="createWO" value="Guardar" action="#{ticketCont.saveWorkOrder()}" 
          render="workOrders,footer" execute="editWorkOrderForm" oncomplete="#{rich:component('workOrderPopup')}.hide()"/>
</rich:popupPanel>

[[[表单字段]]]
我的表格的完整代码:

<rich:popupPanel id="workOrderPopup" modal="true" resizeable="true"
onmaskclick="#{rich:component('workOrderPopup')}.hide()" width="750" height="420">
  <h:form id="editWorkOrderForm" onkeypress="if (event.keyCode == 13) { document.getElementById('workOrderEdition:saveWO').click(); return false; }">
          [[[FORM FIELDS]]]
  </h:form>
  <a4j:commandButton id="createWO" value="Guardar" action="#{ticketCont.saveWorkOrder()}" 
          render="workOrders,footer" execute="editWorkOrderForm" oncomplete="#{rich:component('workOrderPopup')}.hide()"/>
</rich:popupPanel>
<rich:popupPanel id="workOrderPopup" modal="true" resizeable="true"
onmaskclick="#{rich:component('workOrderPopup')}.hide()" width="750" height="420">
  <h:form id="editWorkOrderForm" onkeypress="if (event.keyCode == 13) { document.getElementById('workOrderEdition:saveWO').click(); return false; }">
    <table width="100%" id="editWorkOrderTable">
      <tr>
        <td>
          <h:outputText value="ID" for="editedWOId"/><br/>
          <h:inputText value="#{ticketCont.workOrder.id}" id="editedWOId" readonly="true" size="7"/>
        </td>
        <td>
          <h:outputText value="Descripción" for="editedWODescription"/><br/>
          <h:inputText value="#{ticketCont.workOrder.description}" id="editedWODescription"/>
        </td>
        <td>
          <h:outputText value="Estado" for="editedWOState"/><br/>
          <h:selectOneListbox value="#{ticketCont.workOrder.status}">
            <f:selectItem itemLabel="Abierto" itemValue="0"/>
            <f:selectItem itemLabel="Cerrado" itemValue="1"/>
          </h:selectOneListbox>
        </td>
        <td>
          <h:outputText value="Tiempo (en horas)" for="editedWOTime"/><br/>
          <rich:inputNumberSpinner value="#{ticketCont.workOrder.workHours}" inputSize="4"/>
        </td>
      </tr>
      <tr>
        <td colspan="4">
          <div align="center">
            <h:outputText value="Recursos" for="editedWOResources"/><br/>
            <rich:pickList value="#{ticketCont.workOrder.resources}" var="_resource" listHeight="200px" id="editedWOResources">
              <f:selectItems value="#{ticketCont.activeResources}"/>
              <f:converter converterId="es.caib.gesma.gesman.data.converter.ResourceConverter" />
              <rich:column>
                #{_resource.name}
              </rich:column>
            </rich:pickList>
          </div>
        </td>
      </tr>
    </table>
  </h:form>
  <a4j:commandButton id="createWO" value="Guardar" action="#{ticketCont.saveWorkOrder()}" 
          render="workOrders,footer" execute="editWorkOrderForm" oncomplete="#{rich:component('workOrderPopup')}.hide()"/>
</rich:popupPanel>






#{{u resource.name}

我使用的是JBoss 6.1、Mojarra 2.1.9和Richfaces 4。

我认为问题不在这段代码中,而是来自其他方面的问题,单击您的editWorkOrderForm会呈现,因为您的from不工作。。。 为此你可以这样做

    <rich:popupPanel id="workOrderPopup" modal="true" resizeable="true"
    onmaskclick="#{rich:component('workOrderPopup')}.hide()" width="750" height="420">
      <h:form id="editWorkOrderForm" onkeypress="if (event.keyCode == 13) { document.getElementById('workOrderEdition:saveWO').click(); return false; }">
       <a4j:outputpanal id="editWorkOrderPanal">
        <table width="100%" id="editWorkOrderTable">
          <tr>
            <td>
              <h:outputText value="ID" for="editedWOId"/><br/>
              <h:inputText value="#{ticketCont.workOrder.id}" id="editedWOId" readonly="true" size="7"/>
            </td>
            <td>
              <h:outputText value="Descripción" for="editedWODescription"/><br/>
              <h:inputText value="#{ticketCont.workOrder.description}" id="editedWODescription"/>
            </td>
            <td>
              <h:outputText value="Estado" for="editedWOState"/><br/>
              <h:selectOneListbox value="#{ticketCont.workOrder.status}">
                <f:selectItem itemLabel="Abierto" itemValue="0"/>
                <f:selectItem itemLabel="Cerrado" itemValue="1"/>
              </h:selectOneListbox>
            </td>
            <td>
              <h:outputText value="Tiempo (en horas)" for="editedWOTime"/><br/>
              <rich:inputNumberSpinner value="#{ticketCont.workOrder.workHours}" inputSize="4"/>
            </td>
          </tr>
          <tr>
            <td colspan="4">
              <div align="center">
                <h:outputText value="Recursos" for="editedWOResources"/><br/>
                <rich:pickList value="#{ticketCont.workOrder.resources}" var="_resource" listHeight="200px" id="editedWOResources">
                  <f:selectItems value="#{ticketCont.activeResources}"/>
                  <f:converter converterId="es.caib.gesma.gesman.data.converter.ResourceConverter" />
                  <rich:column>
                    #{_resource.name}
                  </rich:column>
                </rich:pickList>
              </div>
            </td>
          </tr>
        </table>
<a4j:commandButton id="createWO" value="Guardar" action="#{ticketCont.saveWorkOrder()}" 
              render="workOrders,footer" oncomplete="#{rich:component('workOrderPopup')}.hide()"/>
</a4j:outputPanal>
      </h:form>
    </rich:popupPanel>






#{{u resource.name}
现在单击此处打开的弹出窗口位于
render=“editWorkOrderPanal”
这是工作4 u