recibir get en jsf2
resulta que tengo el siguiente codigo.
h:outputLink value="#{request.contextPath}/carreras/carreras.jsf"
h:outputText value="#{car.nombre}"/
f:param name="prefijo" value="#{car.prefijo}"/
/h:outputLink
pero en la pagina carreras no se como obtener el parametro prefijo, por post no tengo problema pero por get, no entiendo como. alguine me podria decir como obtener el valor que mando a la pagina carreras....
- Inicie sesión o regístrese para enviar comentarios
f:metadata y f:viewParam
Para realizar el paso de parametros de solicitud al bean puedes utilizar la etiqueta
viewParam
. El atributo name es el nombre del parámetro yvalue
es a donde lo vas a mandar.viewParam
debe ir dentro de la etiquetametadata
.<f:metadata>
<f:viewParam name="prefijo" value="#{car.prefijo}"/>
</f:metadata>
<h:outputLink value="#{request.contextPath}/carreras/carreras.jsf">
<h:outputText value="#{car.nombre}"/>
<f:param name="prefijo" value="#{car.prefijo}"/>
</h:outputLink>
</h:body>
¿Ya trataste ... ?
¿Ya trataste "#{param['prefijo']}"?
Checa esto, probablemente requestScope funcione también.
Otro modo sería darle la vuelta por medio de algún "backing bean". En el bean obtienes el request y tomas el parámetro y lo expones como si fuera uno de sus campos.
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getRequest();
Object prefijo = request.getParameter("prefijo");
return (String)prefijo;
}
Otro modo es utilizar la etiqueta f:setPropertyActionListener para definir el valor de un atributo de tu "backing bean". Suponiendo que existe un "backing bean" carrera con un atributo llamado prefijo con sus respectivos métodos accesores: