Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/12/2013, 09:31
Avatar de Sumerio
Sumerio
 
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 7 meses
Puntos: 6
Pregunta Preocupación por error PrimeFaces 4.0 para capturar el valor de la selectOneMenu?

Hola comunidad Tengo una pregunta, tengo un formulario en el que tengo un complejo de diseño con PrimeFaces 4 pasan a tener en la zona norte tiene una barra de menú (no he puesto un formulario, no estoy seguro de si esto también), seleccione una opción para la nueva actividad me plantea una ventana emergente en la que trabajo Salida cargas en un combo, lo que pasa es me da un error en el valor de la selectOneMenu, pero le doy el evento como si la captura del valor de este combo, pero me preocupa , muestro mi código.

Código:
<h:body>
    <p:layout fullPage="true" >

        <p:layoutUnit id="top" position="north" size="40">
            <h:form prependId="false" id="menuBar">
                <p:menubar autoDisplay="false" model="#{mantClienteMB.model}" />

                <p:dialog header="Nuevo Elemento" widgetVar="dlg" resizable="false">  
                    <h:panelGrid columns="2" style="margin-bottom:10px">  
                        <h:outputLabel value="Crear nuevo elemento:" />  
                        <p:selectOneMenu value="#{mantClienteMB.codElement}" filter="true" 
                            effect="fade" filterMatchMode="startsWith" style="width: 16em;">  
                            <f:selectItem itemLabel="Seleccione" itemValue="" />
                            <f:selectItems value="#{mantClienteMB.elements}" var="elem"
                             itemValue="#{elem.scActivityId}" itemLabel="#{elem.description}" /> 
                            <p:column>  
                                #{elem.description}
                            </p:column>  
                        </p:selectOneMenu>
                    </h:panelGrid>  

                    <p:commandButton value="Crear" actionListener="#{mantClienteMB.nuevoActividad}"
                     update=":menuBar" oncomplete="dlg.hide();"/>
                    <p:commandButton value="Salir" update=":menuBar" oncomplete="dlg.hide();"/>   
                </p:dialog> 
            </h:form>
        </p:layoutUnit>

        <p:layoutUnit id="bottom" position="south" size="60">
            <div id="pie"></div>
        </p:layoutUnit>

        <p:layoutUnit id="left" position="west" size="300" resizable="true" closable="true" collapsible="true" header="Opciones" minSize="200">
            <p:accordionPanel>
                <p:tab title="Calendario Actual">
                    <br />
                    <p:calendar mode="inline" navigator="none"/>
                    <br />
                </p:tab>
            </p:accordionPanel>
        </p:layoutUnit>

        <p:layoutUnit id="center" position="center">
            <ui:insert name="contenido" />
        </p:layoutUnit>

    </p:layout>
</h:body>
Imagen : http://s2.subirimagenes.com/imagen/p...7055layout.png

Code Java:

Código:
@Component("mantClienteMB")
@Scope("view")
public class MantenimientoClienteController implements Serializable {
    @Autowired
    private ActivityService activityService;

    private List<ScActivity> elements;  

    private int codElement;


    @PostConstruct
    public void init() {
        try {
            this.setElements(new ArrayList<ScActivity>());
            newElements();
            menuBean();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void newElements() {
        this.setElements(activityService.listarActivity());
    }

    public void nuevoActividad() {      
        System.out.println("==> "+codElement);      
    }
    .........
}
Mensaje de Error:

Código:
com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
Grave: Error Rendering View[/pages/layoutComplex.xhtml]
java.lang.ClassCastException: javax.faces.component.html.HtmlForm cannot be cast to org.primefaces.component.layout.Layout
    at org.primefaces.component.layout.LayoutUnitRenderer.encodeHeader(LayoutUnitRenderer.java:76)
    at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:43)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903)
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:451)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

dic 14, 2013 8:39:40 PM com.sun.faces.context.ExceptionHandlerImpl throwIt
Información: Exception when handling error trying to reset the response.
java.lang.ClassCastException: javax.faces.component.html.HtmlForm cannot be cast to org.primefaces.component.layout.Layout
    at org.primefaces.component.layout.LayoutUnitRenderer.encodeHeader(LayoutUnitRenderer.java:76)
    at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:43)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903)
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:451)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)