<p:commandlink>不会调用Bean </p:commandlink>中的方法

时间:2013-10-28 16:57:39

标签: jsf

我试图在Oracle数据库中保存一个公式但是当我试图调用action= "#{uniformesBackendBean.refrescarCandidatos()}"中的方法但它不起作用时..这是代码。 Javascript 可以在我的浏览器中使用。谢谢你的帮助。

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.prime.com.tr/ui"
                xmlns:f="http://java.sun.com/jsf/core"
                template="/plantillas/defaultTemplate.xhtml"
                xmlns:i="http://java.sun.com/jsf/composite/components/presentacion"
                xmlns:c="http://java.sun.com/jsp/jstl/core"
                xmlns:d="http://java.sun.com/jsf/composite/components/dialogo">
<!-- =================================== -->
    <ui:define name="titulo">
        <h:outputText value="Registro de Uniformes"/>
    </ui:define>
<!-- =================================== -->
    <ui:define name="acciones"> 
        <p:tab title="Otras acciones">
            <h:panelGrid columns="1" style="height: 100px;">


                <!-- NUEVO -->
                <p:commandLink styleClass="opcionMenu" ajax="true" action="#{reportes$indicador.inicio$action}" >
                    <p:graphicImage value="/resources/iconos/edit.png"/>
                    <h:outputText value="Editar" styleClass="espacioTexto"/>
                </p:commandLink>

                <p:commandLink styleClass="opcionMenu" ajax="true" action="#{uniformesBackendBean.doGuardar()}" rendered="true"> 
                    <p:graphicImage value="/resources/iconos/document-save.png"/>
                    <h:outputText value="Guardar" styleClass="espacioTexto"/>                    
                </p:commandLink>

                <p:commandLink styleClass="opcionMenu" ajax="true" action="#{reportes$indicador.inicio$action}">
                    <p:graphicImage value="/resources/iconos/application-exit.png"/>
                    <h:outputText value="Cancelar" styleClass="espacioTexto"/>
                </p:commandLink>
            </h:panelGrid>
        </p:tab>
    </ui:define>

<ui:define name="contenido">

    <p:spacer height="10" />


    <h:panelGrid columns="2"  > <!--NUEVOS campos para el requerimeinto de cotrol de uniformes --> 
        <h:inputHidden value="1235" id="inputHidden_1" />    

        <h:panelGroup >   

            <h:outputLabel id="nombreEmpleado" value="#{uniformesBackendBean.empleadoSeleccionado.nombreCompleto}"  rendered="true" style=" font-weight: bold"/> 

            <p:commandLink styleClass="opcionMenu"  
                           style="color:blue"
                           ajax="true"
                           update="principalForm:tabla" 
                           oncomplete="dialogoEditar.show();" 
                           rendered="true"
                           action="#{uniformesBackendBean.refrescarCandidatos()}" >

                <p:graphicImage value="/resources/iconos/personal.png"/>
                <h:outputText value="Seleccionar empleado" styleClass="espacioTexto"/>

            </p:commandLink>



        </h:panelGroup>


        <h:inputHidden value="123" id="inputHidden_23" />

        <i:etiquetaRequerido value="Fecha de entrega" />
        <p:calendar showOn="button" value="#{reportes$indicador.fechaFinal}" label="Fecha Entrega" title="Fecha Entrega" required="true" requiredMessage="Fecha Entrega es un campo requerido" navigator="true"/>

        <i:etiquetaRequerido value="Cantidad de camisas" />
        <p:inputText id="cantidadCamisas" value="" size="5"/>

        <i:etiquetaRequerido value="Marca de camisa" />
        <h:selectOneMenu id="marca" value="" style="width: 175px; height: 24px; padding-top: 3px;" required="true" requiredMessage="Cantidad de camisas es un campo requerido" styleClass="ui-widget ui-inputfield ui-state-default ui-corner-all">
            <f:selectItem itemValue="0" itemLabel="-- Seleccione --"/>
            <f:selectItem itemValue="1" itemLabel="Monge"/>
            <f:selectItem itemValue="2" itemLabel="Prado"/>
            <f:selectItem itemValue="3" itemLabel="Remate"/>
            <f:selectItem itemValue="4" itemLabel="Otro"/>
        </h:selectOneMenu>


        <i:etiquetaRequerido value="Tipo de camisa" />
        <h:selectOneMenu id="tipo" value="" style="width: 175px; height: 24px; padding-top: 3px;" required="true" requiredMessage="Tipo de camisa es un campo requerido" styleClass="ui-widget ui-inputfield ui-state-default ui-corner-all">
            <f:selectItem itemValue="0" itemLabel="-- Seleccione --"/>
            <f:selectItem itemValue="1" itemLabel="Polo"/>
            <f:selectItem itemValue="2" itemLabel="Oxford"/>
            <!-- <f:selectItem itemValue="3" itemLabel="Remate"/>
             <f:selectItem itemValue="4" itemLabel="Otro"/> -->
        </h:selectOneMenu>


        <i:etiquetaRequerido value="Talla de camisa" />
        <h:selectOneMenu id="talla" value="" style="width: 175px; height: 24px; padding-top: 3px;" required="true" requiredMessage="Talla de camisa es un campo requerido" styleClass="ui-widget ui-inputfield ui-state-default ui-corner-all">
            <f:selectItem itemValue="0" itemLabel="-- Seleccione --"/>
            <f:selectItem itemValue="1" itemLabel="S"/>
            <f:selectItem itemValue="2" itemLabel="M"/>
            <f:selectItem itemValue="3" itemLabel="L"/>
            <f:selectItem itemValue="4" itemLabel="XL"/>
            <f:selectItem itemValue="5" itemLabel="XXL"/>
        </h:selectOneMenu>

        <i:etiquetaRequerido id="valorUniforme" value="Valor"/>

        <p:inputText id="valor" value="" required="true" requiredMessage="Valor es un campo requerido" />

        <i:etiquetaRequerido id="aplicaDes" value="Aplica Descuento"/>

        <h:selectOneMenu id="aplicaDescuento" value="" style="width: 120px; height: 24px; padding-top: 3px;" required="true" requiredMessage="Aplica descuento es un campo requerido" styleClass="ui-widget ui-inputfield ui-state-default ui-corner-all">
            <f:selectItem itemValue="0" itemLabel="-- Seleccione --"/>
            <f:selectItem itemValue="1" itemLabel="Si"/>
            <f:selectItem itemValue="2" itemLabel="No"/>
            <!--<f:selectItem itemValue="3" itemLabel="L"/>
            <f:selectItem itemValue="4" itemLabel="XL"/>
            <f:selectItem itemValue="5" itemLabel="XXL"/> -->
        </h:selectOneMenu>

        <h:outputText id="observaciones" value="Observaciones"/>
        <p:inputTextarea cols="20" rows="2" value=""/>



        <i:etiquetaRequerido value="Tipo de planilla" />

        <h:selectOneMenu id="LstTipoPlanilla" style="height: 25px;padding-top: 3px;width: 200px;" required="true" requiredMessage="Tipo de planilla es un campo requerido" label="Tipo Planilla" value="#{reportePlanilla.tipoPlanilla}" >                       

            <f:selectItem itemValue="-1" itemLabel="[ SELECCIONE TIPO PLANILLA ]" />
            <f:selectItems value="#{reportePlanilla.listaTipos}" var="tipo" itemValue="#{tipo.tiposPlanillaPK.codTipopla}" itemLabel="#{tipo.nomTipopla}"/>
        </h:selectOneMenu>




        <i:etiquetaRequerido value="Programaci&#243;n planilla" />
        <p:inputText id="planilla" required="true" requiredMessage="Planilla es un campo requerido" />



    </h:panelGrid> <!-- ES EL MAS EXTERNO -->

<p:spacer height="10" />

</ui:define>

<ui:define name="dialogos">

     <p:dialog widgetVar="dialogoEditar" header="Editar candidato" modal="true" draggable="true" resizable="false" closable="true" width="650">
            <p:dataTable id="tablaEmpleados" value="#{uniformesBackendBean.empleadosListModel}" var="empleado" rows="5" paginator="true" paginatorAlwaysVisible="true" pageLinks="5"  onRowSelectUpdate="principalForm:editarAceptarCommandButton" onRowUnselectUpdate="principalForm:editarAceptarCommandButton" emptyMessage="No se han encontrado Empleados.">
                <f:facet name="header">
                    <h:outputText value="Empleados"/>
                </f:facet>
                <p:column headerText="ID " filterBy="#{empleado.empleadosPK.codEmp}" filterMatchMode="contains" style="width: 10%;"  >
                    <h:outputText value="#{empleado.empleadosPK.codEmp}"/>
                </p:column>
                <p:column headerText="Nombre del empleado" filterBy="#{empleado.nombreCompleto}" filterMatchMode="contains">
                    <h:outputText value="#{empleado.nombreCompleto}"/>
                </p:column>
                <p:column headerText="Seleccionar" style="width: 8%;" >
                    <p:commandButton id="editarAceptarCommandButton" image="ui-icon ui-icon-circle-check" onclick="dialogoEditar.hide();"
                                     action="#{planilla$empleado.editar$action}" update="principalForm:mensajes principalForm:panelAcciones principalForm:panelContenido principalForm:nombreEmpleado" title="Seleccionar empleado" >
                        <f:setPropertyActionListener value="#{empleado}" target="#{uniformesBackendBean.empleadoSeleccionado}" />
                    </p:commandButton>
                </p:column>
            </p:dataTable>
            <h:panelGrid columns="2">
                <p:commandButton id="editarCancelarCommandButton" value="Cancelar" image="ui-icon ui-icon-circle-close" onclick="dialogoEditar.hide();" 
                                 action="#{planilla$empleado.cancelar$action}" update="principalForm:mensajes principalForm:panelAcciones principalForm:panelContenido"/>
            </h:panelGrid>
        </p:dialog>



</ui:define>

</ui:composition>

1 个答案:

答案 0 :(得分:0)

您是否尝试过action= "#{uniformesBackendBean.refrescarCandidatos}"。 不使用() 小括号

您的按钮或链接应位于<h:form>...</h:form>标记内。

示例:

<h:form>
      <p:commandLink styleClass="opcionMenu"  
                       style="color:blue"
                       ajax="true"
                       update="principalForm:tabla" 
                       oncomplete="dialogoEditar.show();" 
                       rendered="true"
                       action="#{uniformesBackendBean.refrescarCandidatos}" >

            <p:graphicImage value="/resources/iconos/personal.png"/>
            <h:outputText value="Seleccionar empleado" styleClass="espacioTexto"/>

        </p:commandLink>
</h:form>