JSF - Botón CommandButton no responde

 
Vista:

Botón CommandButton no responde

Publicado por José David (1 intervención) el 03/09/2008 09:50:20
Buenas. La verdad es que antes de escribir aqui, me he tirado muchas muchas horas investigando, y no logro dar con nada que me ayude, así que a ver si alguien puede echarme una mano. El tema es:

Tengo un proyecto montado con RichFaces, aunque el problema es de una etiqueta más propia de JSF: <h:commandButton />, de ahí que lo ponga aqui. El proyecto está montado usando Spring y Hibernate, J2EE. El tema es que tengo un formulario, con los datos de un solicitante, relleno. Este formulario es el mismo tanto para dar de alta al solicitante, como para modificarlo. Dependiendo de si se le pasa un Solicitante o no, rellena los campos o no, y muestra el botón de modificar, o crear.

Bien. Crear un solicitante va de lujo. El problema es modificarlo. Tras depurar, me he dado cuenta que al hacer click en el botón "Modificar", coge y me recarga el Bean, me lo reconstruye, y pasa olimpicamente de ir al Action que tiene asignado. Por supuesto, esto hace que piense que estoy creando, en vez de modificando (porque construye el Bean de nuevo), con lo cual, no puedo modificar.

Y lo mas curioso de todo. Si en modo DEBUG hago esto, justo despues de hacer un CLEAN al directorio del TOMCAT... funciona!! Pero exactamente el mismo procedimiento, pero en modo RUN en vez de DEBUG, no va.

La verdad es que estoy sin ideas ya. ¿Alguien puede inspirarme? Os dejo la parte del código del jsp. Hay también un <a4j:commandButton />. Esto es para probar a ver si es que richfaces queria un botón de los suyos... pero ya digo que, el comportamiengo de este a4j:commandButton es igual que el de h:commandButton, es decir, pasa de mi, y llama al constructor de nuevo, sin llamar al action.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:hx="http://www.ibm.com/jsf/html_extended"
xmlns:t="http://myfaces.apache.org/tomahawk"
template="/template/templateTabs.xhtml">


<ui:define name="contentTabs">

<f:facet name="header">
<h:outputText styleClass="formularioFlechaBusqueda"
value="#{mensajes['gpnc.solicitudes.datosSolicitante']}" />
</f:facet>
<rich:tabPanel switchType="client"
selectedTab="#{pc_AltaSolicitante.SPestanaSeleccionada}">
<rich:tab id="datosPersonalesTab"
label="#{mensajes['gpnc.solicitantes.datosPersonales']}">
<f:subview>
<ui:include src="tabs/datosPersonalesTab.xhtml" />
</f:subview>
</rich:tab>
<rich:tab id="datosResidenciaTab"
label="#{mensajes['gpnc.solicitantes.datosResidencia']}">
<f:subview>
<ui:include src="tabs/datosResidenciaTab.xhtml" />
</f:subview>
</rich:tab>
<rich:tab id="datosEconomicosTab"
label="#{mensajes['gpnc.solicitantes.datosEconomicos']}">
<f:subview>
<ui:include src="tabs/datosEconomicosTab.xhtml" />
</f:subview>
</rich:tab>
</rich:tabPanel>
</ui:define>
<ui:define name="contentExtras">
<h:panelGrid id="gridBotonesInsertar" columns="1"
styleClass="filaBotones">
<rich:panel styleClass="transparente">

<a4j:commandButton styleClass="botones" action="#{pc_AltaSolicitante.doCrear}"
rendered="#{pc_AltaSolicitante.BEstamosModificando}"
value="#{mensajes['gpnc.btModificar']}" >

</a4j:commandButton>
<h:commandButton styleClass="botones" action="#{pc_AltaSolicitante.doCrear}"
rendered="#{pc_AltaSolicitante.BEstamosModificando}" immediate="true"
value="#{mensajes['gpnc.btModificar']}">
</h:commandButton>




<h:commandButton styleClass="botones"
rendered="#{!pc_AltaSolicitante.BEstamosModificando}"
value="#{mensajes['gpnc.btCrear']}"
action="#{pc_AltaSolicitante.doCrear}">
</h:commandButton>


<h:commandButton styleClass="botones"
value="#{mensajes['gpnc.btCancelar']}"
action="#{pc_AltaSolicitante.doCancelar}" immediate="true">
</h:commandButton>
</rich:panel>
</h:panelGrid>


</ui:define>

</ui:composition>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Botón CommandButton no responde

Publicado por Jaime Castillo Montes (9 intervenciones) el 09/01/2009 02:59:34
pouedes probar con un actionListener en tus botones
solo tendrias que modificar tu metodo de guardar y de modificar para que agan caso al listener
agregando esto a tus metodos

public void agregar(ActionEvent even){
......................
}

public void modificar(ActionEvent even){
......................
}

y en tus botones cambiar ese action por actionListener="#{........}"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar