Проблемы с управлением компонентами простых лиц с помощью Managed Bean - PullRequest
1 голос
/ 22 сентября 2011

Я надеюсь, что кто-нибудь сможет мне помочь с проблемой, с которой я столкнулся с JSF 2 и Primefaces 3.0M3.

проблема в том, что методы обратного бина не запускаются из какого-либо компонента в центре компоновки 'center', они находятся внутри формы, и ничего не происходит, даже я пытался обновить компоненты с помощью remoteCommand, autoUpdate выходной панели, commandButton с действием и actionListener и ничего, сообщения об ошибке нет. В западном макете хорошо работает компоненты, выводит панель вывода (pfpInfo) центрального блока компоновки, но я не знаю, что происходит.

вот код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.prime.com.tr/ui"
    xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head>
    <title>Articulos</title>
</h:head>
<h:body>
    <link rel="stylesheet" type="text/css" href="../css/estilos.css" />
    <p:layout fullPage="true" id="lay">
        <p:layoutUnit position="north" size="100" resizable="false"
            closable="false" collapsible="false">
            <img src="../images/logo.jpg" alt="PLL"
                style="width: 413px; height: 83px;" align="left"></img>ss
            <img src="../images/tel.jpg" alt="PLR"
                style="width: 413px; height: 83px;" align="right"></img>
        </p:layoutUnit>

        <p:layoutUnit position="west" size="200" header="Categorías"
            resizable="false" closable="false" collapsible="false">
            <h:form id="frWest">
                <p:growl id="message" showDetail="true" globalOnly="true"
                    autoUpdate="true"></p:growl>
                <p:tree id="treeSingle" value="#{controlMBean.raizArbol}"
                    var="rama" dynamic="true" selectionMode="single"
                    selection="#{controlMBean.ramaElegida}" expanded="true">
                    <p:ajax event="select"
                        update=":frCenter:pfSeg :frCenter:pfpInfo :frCenter:pfpIma"
                        listener="#{controlMBean.procesaInformacionArt}"></p:ajax>
                    <p:treeNode>
                        <h:outputText value="#{rama}" styleClass="encabezadoUiLight" />
                    </p:treeNode>
                </p:tree>
            </h:form>
        </p:layoutUnit>

        <p:layoutUnit position="center">
            <h:form id="frCenter">
                <p:outputPanel id="pfSeg" rendered="true">
                    <p:outputPanel id="pfpIma" rendered="#{not controlMBean.cargado}">
                        <img src="../images/luchadores.jpg" />
                    </p:outputPanel>

                    <p:outputPanel id="pfpInfo" rendered="#{controlMBean.cargado}"
                        autoUpdate="true">

                        <p:dataTable dynamic="true" var="prnda" rowKey="#{prnda.id}"
                            value="#{controlMBean.infoArts}" paginator="true" rows="10"
                            selectionMode="single" paginatorAlwaysVisible="false"
                            selection="#{controlMBean.artElegido}"
                            rendered="#{controlMBean.cargado}">
                            <p:ajax event="rowUnselect"
                                listener="#{prestalana.deseleccionar}"></p:ajax>
                            <f:facet name="header">Articulo(s)</f:facet>
                            <p:ajax update=":frCenter:ppImg :frCenter:pgInfo"
                                oncomplete="prnd.show()" event="rowSelect"
                                listener="#{controlMBean.elegirFila}"></p:ajax>
                            <p:column sortBy="#{prnda.id}">
                                <f:facet name="header">
                                    <h:outputText value="Id" />
                                </f:facet>
                                <h:outputText value="#{prnda.id}" />
                            </p:column>

                            <p:column sortBy="#{prnda.articulo}">
                                <f:facet name="header">
                                    <h:outputText value="Modelo" />
                                </f:facet>
                                <h:outputText value="#{prnda.articulo}" />
                            </p:column>

                            <p:column sortBy="#{prnda.marca}">
                                <f:facet name="header">
                                    <h:outputText value="Marca" />
                                </f:facet>
                                <h:outputText value="#{prnda.marca}" />
                            </p:column>

                            <p:column sortBy="#{prnda.edo}">
                                <f:facet name="header">
                                    <h:outputText value="Ubicación" />
                                </f:facet>
                                <h:outputText value="#{prnda.edo}" />
                            </p:column>

                            <p:column sortBy="#{prnda.stsArticulo}">
                                <f:facet name="header">
                                    <h:outputText value="Estatus" />
                                </f:facet>
                                <h:outputText value="#{prnda.stsArticulo} " />
                            </p:column>

                            <p:column sortBy="#{prnda.precio}">
                                <f:facet name="header">
                                    <h:outputText value="Precio" />
                                </f:facet>
                                <h:outputText value="$ #{prnda.precio}" />
                            </p:column>

                        </p:dataTable>
                        <p:commandButton action="#{controlMBean.probar2}"
                            actionListener="#{controlMBean.probar}" value="Prueba"></p:commandButton>

                    </p:outputPanel>
                    <br />
                    <h:outputText value="#{controlMBean.mensaje}"
                        styleClass="textoUiLight" id="hotMen" />
                </p:outputPanel>
                <p:remoteCommand actionListener="#{controlMBean.probar}"
                    name="pruebaRc" update=":frCenter:ppImg"></p:remoteCommand>
                <p:dialog appendToBody="true" dynamic="true" header="Info Prenda"
                    onShow="pruebaRc" widgetVar="prnd" resizable="false" width="750"
                    height="550" showEffect="fold" position="center"
                    hideEffect="explode">
                    <p:outputPanel id="ppImg" autoUpdate="true">
                        <h:panelGrid columns="2" id="pgInfo">
                            <p:galleria transitionInterval="3000" var="i"
                                value="#{controlMBean.imagenes}"
                                panelWidth="#{controlMBean.width}"
                                panelHeight="#{controlMBean.height}"
                                frameHeight="#{controlMBean.height/4}"
                                frameWidth="#{controlMBean.width/4}" effect="flash">
                                <p:graphicImage id="img" height="#{i.alto}" width="#{i.ancho}"
                                    value="#{controlMBean.ruta}#{i.nombre}.jpg" />
                            </p:galleria>
                            <h:panelGrid columns="2" width="350">
                                <h:outputLabel value="ID:" styleClass="etiqueta" />
                                <h:outputText value="#{controlMBean.artElegido.id}"
                                    styleClass="resultado" />
                                <h:outputLabel value="Prenda:" styleClass="etiqueta" />
                                <h:outputText
                                    value="#{controlMBean.artElegido.prenda} adasd"
                                    styleClass="resultado" />
                                <h:outputLabel value="Precio:" styleClass="etiqueta" />
                                <h:outputText value="$#{controlMBean.artElegido.precio}"
                                    styleClass="resultado" />
                                <h:outputLabel value="Marca:" styleClass="etiqueta" />
                                <h:outputText value="#{controlMBean.artElegido.marca}"
                                    styleClass="resultado" />
                                <h:outputLabel value="Sucursal:" styleClass="etiqueta" />
                                <h:outputText value="#{controlMBean.artElegido.suc}"
                                    styleClass="resultado" />
                                <h:outputLabel value="Descripcion:" styleClass="etiqueta" />
                                <h:outputText value="#{controlMBean.artElegido.descr}"
                                    styleClass="resultado" style="width:300px;height:100px;" />
                            </h:panelGrid>
                        </h:panelGrid>
                    </p:outputPanel>
                </p:dialog>
            </h:form>
        </p:layoutUnit>

    </p:layout>
</h:body>
</html>
...