如何使用JSF 2.2显示视图页面

时间:2017-08-15 02:52:59

标签: jsf-2 jsf-2.2

拜托,我的代码需要你的帮助。尝试在另一页上查询发票。在页面上(FacturaShow.xhtml)显示为null。但是在控制台中出现了System out的结果。

facturaBean.java

public String outcome() {

    FacesContext fc = FacesContext.getCurrentInstance();
    this.visualizarfact = Integer.parseInt(getNumeroFacturaParam(fc));
    System.out.println("Factura : " + this.visualizarfact);
    return "FacturaShow.jsf";
}

//get value from "f:param"
public String getNumeroFacturaParam(FacesContext fc) {

    Map<String, String> params = fc.getExternalContext().getRequestParameterMap();
    return params.get("numerofactura");

}

FacturaIndex.xhtml是显示发票清单的页面,其中发票用于打印,取消,显示。在代码末尾附近,你会发现commandLink用id =“reportefactura6”来调用FacturaShow。

                <h:form id="formMostraFacturas">
                <p:dataTable id="tablaFacturas" paginator="true" paginatorPosition="top" rows="20"
                             var="ft" value="#{facturaBean.listaFacturas}" emptyMessage="No hay datos de Facturas"
                             paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                             rowsPerPageTemplate="5,10,15">
                    <p:column headerText="NRO." style="width: 40px">
                        <h:outputText value="#{ft.numeroFactura}" style="display:block;text-align: center"/>
                    </p:column>

                    <p:column headerText="EMPRESA" style="width: 500px">
                        <h:outputText value="#{ft.cliente.nombreCliente}"/>
                    </p:column>                        

                    <p:column headerText="RUC" style="width: 100px" >
                        <h:outputText value="#{ft.cliente.rucCliente}" style="display:block;text-align: center"/>
                    </p:column>

                    <p:column headerText="MONEDA" style="width: 70px" >
                        <h:outputText value="#{ft.moneda.simboloMoneda}" style="display:block;text-align: center"/>
                    </p:column>

                    <p:column headerText="TOTAL" style="width: 100px">
                        <h:outputText value="#{ft.totalVenta+(ft.totalVenta*0.18)}" style="display:block;text-align: right">
                            <f:convertNumber pattern="###,###,##0.00" type="currency"
                                             locale="en_US" />
                        </h:outputText>
                    </p:column>
                    <p:column headerText="IMPRIMIR" style="width: 70px; text-align: center">
                        <h:commandLink id="reportefactura1" target="_blank" actionListener="#{facturaBean.pedirFactura(ft.numeroFactura, ft.totalVenta, ft.moneda.simboloMoneda)}"                                           
                                       title="Visualizar Factura PDF" action="#{facturaBean.verFacturaNavegadorPDF()}" >
                            <h:graphicImage value="/resources/Imagenes/impresora.png" width="20" height="20"/>
                        </h:commandLink>
                        <h:outputText value=" "/>
                        <h:commandLink id="reportefactura2" target="_blank" actionListener="#{facturaBean.pedirFactura(ft.numeroFactura, ft.totalVenta, ft.moneda.simboloMoneda)}"                                           
                                       title="Descargar Factura en PDF" action="#{facturaBean.verFacturaExportadaPDF()}" >
                            <h:graphicImage value="/resources/Imagenes/descargapdf.png" width="20" height="20"/>
                        </h:commandLink>
                        <h:outputText value=" "/>
                        <h:commandLink id="reportefactura3" target="_blank" actionListener="#{facturaBean.pedirFactura(ft.numeroFactura, ft.totalVenta, ft.moneda.simboloMoneda)}"                                           
                                       title="Imprimir en la impresora Matricial" action="#{facturaBean.verFacturaMatrixNavegadorPDF()}" >
                            <h:graphicImage value="/resources/Imagenes/impresoramatricial.png" width="20" height="20"/>
                        </h:commandLink>
                    </p:column>
                    <p:column headerText="OPCIONES" style="width: 70px; text-align: center">
                        <p:commandLink id="reportefactura4"
                                       oncomplete="PF('dialogVerFactura').show();"
                                       update=":formVerFactura" >
                            <f:setPropertyActionListener target="#{facturaBean.factura}" value="#{ft}"/>
                            <h:graphicImage value="/resources/Imagenes/ojo.png" width="20" height="20"/>
                        </p:commandLink>
                        <p:outputLabel value=" "/>
                        <p:commandLink id="reportefactura5"
                                       target="_blank" title="Anular Factura" >
                            <h:graphicImage value="/resources/Imagenes/anular.png" width="20" height="20"/>
                        </p:commandLink>

                        <h:commandLink id="reportefactura6" action="#{facturaBean.outcome}">
                            <f:param name="numerofactura" value="#{ft.numeroFactura}"/>
                            <h:graphicImage value="/resources/Imagenes/ojo.png" width="20" height="20"/>
                        </h:commandLink>
                    </p:column>
                </p:dataTable>
            </h:form>

FacturaShow.xhtml是显示发票信息的页面。

    <h:body>

    <ui:composition template="./../../Plantilla/Plantilla.xhtml">

        <ui:define name="content">
            <p><h2>Visualizando la Factura</h2></p>
            <h:form>
                <h:outputText value="f1: #{facturaBean.visualizarfact}"/>
                <p></p>
                <h:outputText value="f2: #{facturaBean.visualizarfact}"/>
                <p></p>
                <h:outputFormat value="Invoice : {1}">
                    <f:param value="#{facturaBean.visualizarfact}"/>
                    <f:param value="#{facturaBean.visualizarfact}"/>
                </h:outputFormat>
            </h:form>
        </ui:define>

    </ui:composition>

</h:body>

我发布了null出现的图像。 image

0 个答案:

没有答案