Foros del Web » Programación para mayores de 30 ;) » Java »

Problema JSF y Managed Bean

Estas en el tema de Problema JSF y Managed Bean en el foro de Java en Foros del Web. Hola, Estoy probando a hacer una web (2 paginas) con JSF y Spring y me he atascado en la llamada a un método del bean. ...
  #1 (permalink)  
Antiguo 20/01/2014, 13:42
 
Fecha de Ingreso: noviembre-2008
Mensajes: 47
Antigüedad: 14 años
Puntos: 0
Pregunta Problema JSF y Managed Bean

Hola,

Estoy probando a hacer una web (2 paginas) con JSF y Spring y me he atascado en la llamada a un método del bean. En la primera pagina tengo un botón que cuando lo pulso, va al método "getEntrar()" del Bean y por el faces-config entro en la segunda página. En esta página tengo un formulario para ir añadiendo datos a una lista del bean. El problema está en que desde la 2º pagina no puedo acceder a los métodos del bean y no se porqué, he intentado ponerle el ámbito de sesion y request, y en ambos casos no llego.

Haciendo pruebas, he visto que si pongo el botón de la 2º pagina en la 1º, si funciona, pero si pongo el botón de la 1º en la 2º, tampoco funciona.

El código que tengo es:

faces-config.xml
Código:
<managed-bean>
		<managed-bean-name>datosGestion</managed-bean-name>
		<managed-bean-class>beans.DatosGestion</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
		<managed-property>
			<property-name>beanGestionado</property-name>
			<value>#{beanGestionado}</value>
		</managed-property>
	</managed-bean>
	
	<application>
		<el-resolver>
    		    org.springframework.web.jsf.el.SpringBeanFacesELResolver
		</el-resolver>
  	</application>
1ºpagina.xhml
Código:
<h:body>
	<f:view>
		<ui:include src="header.xhtml"></ui:include>
		<div class="botones">
			<h:form>
				<h:commandButton value="Entrar"
					action="#{datosGestion.beanGestionado.getEntrar2}"
					styleClass="more"></h:commandButton>
			</h:form>
		</div>
		<ui:include src="footer.xhtml"></ui:include>
	</f:view>
</h:body>
2º pagina.xhml
Código:
<h:body>
	<f:view>
		<ui:include src="header.xhtml"></ui:include>
		<div class="botones">
			<h:form>
<h:commandButton value="#{msg.comprar}"
												action="#{datosGestion.beanGestionado.addProduct}"
												styleClass="more"></h:commandButton >
/h:form>
		</div>
		<ui:include src="footer.xhtml"></ui:include>
	</f:view>
</h:body>
BeanGestionadoImpl.java
Código:
public String addProduct() {
		System.out.println("AQUIIII");
		return "OK";
	}
En la consola me aparece este mensaje: com.sun.faces.renderkit.html_basic.OutcomeTargetRe nderer getNavigationCase
ADVERTENCIA: JSF1090: no se ha resuelto el tipo de navegación para el componente j_idt13.

Última edición por Link_OOT; 21/01/2014 a las 07:50 Razón: Añado mas informacón
  #2 (permalink)  
Antiguo 22/01/2014, 11:44
 
Fecha de Ingreso: noviembre-2008
Mensajes: 47
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema JSF y Managed Bean

No se como lo hice, pero ya lo he arreglado. Pero me surge una duda, en el managed-bean he puesto el scope de session y en el constructor del bean he puesto un System.out.println(this); Como el ámbito es de sesión, no deberia mostrar por consola ese mensaje cada vez que entro al index.xhtml desde cada equipo?
  #3 (permalink)  
Antiguo 22/01/2014, 12:11
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 14 años
Puntos: 13
Respuesta: Problema JSF y Managed Bean

Haces algo con ese bean para que ejecute el constructor?? De lo contrario quedará sin hacer un new...
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #4 (permalink)  
Antiguo 22/01/2014, 12:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 47
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema JSF y Managed Bean

Si, en la 1º página tengo un botón, que va al método getEntrar y con lo que devuelve ese método va a la 2º página.

Etiquetas: bean, jsf, managed, spring
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:39.