Necesito pasar un parámetro a un bean cuando hago una llamada ajax.JSF - Pasa un parámetro en una llamada ajax - ¿Qué hay de malo en este código?
Mi frijol es la siguiente:
@ManagedBean
@RequestScoped
public class Selector {
@ManagedProperty(value="#{param.page}")
private String page;
@PostConstruct
public void init() {
if(page==null || page.trim().isEmpty()) {
this.page="homepage";
}
System.out.println(this.page);
}
public String getPage() { return page; }
public void setPage(String page) { this.page=page; }
}
Y, cuando hago la llamada ajax, necesito (debido al hecho de que quiero rendir un contexto diferente) el parámetro de página. Así que he hecho esto:
// in this moment selector.page = articles
<h:inputHidden value="#{selector.page}" id="page" />
<h:commandLink>
<f:setPropertyActionListener target="#{articlesSelector.order}" value="1" />
<f:ajax event="click" render=":articlesContent"/>
<h:graphicImage value="img/arrow_up.png" alt="Arrow Up"/>
</h:commandLink>
Pero, en la fase de Solicitud de solicitud, la página sigue siendo "página de inicio". Debería obtener el parámetro de página de la solicitud, aplicarlo al árbol de componentes y representar el contexto de "artículos". ¿Por qué no sucede?
Saludos
Sí, un comportamiento un tanto extraño. Pero funciona :) ¡Gracias! – markzzz
De nada. – BalusC
P.S. como rescate de JSF, no se olvide de http://stackoverflow.com/questions/4334424/jsf-why-setter-is-not-called-this-time y http://stackoverflow.com/questions/4304763/jsf- problem-with-viewscope (tal vez no los viste jeje) – markzzz