Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > selectonemenu redireccion

Hola a todos, estoy realizando p:selectOneMenu con una lista de categorias y al seleccionar una categoria y darle a un boton me tiene que redirreccionar a otra pagina y mostrarle una tabla con los articulos de esa categoria.Tengo esto:

<p:selectOneMenu id="categoria" value="#{conjuntocategorias.categorias}" >
<f:selectItem itemLabel="Selecciona una categoria" itemValue="" />
<f:selectItems value="#{jdbccategorias.categorias}" var="categoria"
itemLabel=" #{categoria.nombre}" itemValue="#{categoria.idCategoria}"/>
</p:selectOneMenu>

<p:button outcome="articuloCategoria" value="Pulsar" icon="ui-icon-star">
<f:param name="idCategoria" value="#{Categoria.idCategoria}" />
</p:button>

Pongo en el parametro Categoria.idCategoria y me redirrecciona y me pone null.

Espero que me podais ayudar.Utilizo primefaces y jsf.gracias

julio 7, 2015 | Unregistered Commenterer

Hola

La solución es poner en outcome la ruta de la página que vas a visitar en vez de view-id para añadir como parametro idCategoria en la url

Saludos

julio 7, 2015 | Registered Commenterxabe

Hola,

Igual no tiene que ver, pero has puesto Categoria con C mayúscula. Eso teine pinta de que debería ser con minúsculas.

Saludos

julio 7, 2015 | Registered Commenteroldskultxo

Hola , cuando selecciono mi cateforiay le doy al boton en la direccion del navegador me pone :

http://localhost:8080/Proyecto/faces/articuloCategoria.xhtml?categoriaId=null.

Además he cambiando a minuscula y me sale esto.Alguna sugerencia?

julio 7, 2015 | Unregistered Commenterer

No estoy seguro, pero en el atributo 'value' del SelectOneMenu, ¿no debería ir la propiedad del Managed Bean a la que se le asigna el valor seleccionado?

Es decir:


<h:selectOneMenu id="categoria" value="#{tuManagedBean.selectedCategory}" >
...
</:h>

Luego, deberías enviar la categoría seleccionada:


<h:link outcome="articulosCategoria">
<f:param name="category" value="#{tuManagedBean.selectedCategory}"/>
</h:link>

Tu bean sería:


@Named
@RequestScoped
public class tuManagedBean {
private String selectedCategory; // setter/getter

...
}

julio 7, 2015 | Unregistered CommenterRex