JSF - Передача параметра при вызове ajax - Что не так в этом коде?

Мне нужно передать параметр bean-компоненту, когда я выполняю вызов ajax.

Мой bean-компонент - это this:

@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; }
}

И когда я выполняю вызов ajax, мне нужен (из-за того, что я хочу отобразить другой контекст) параметр страницы. Итак, я сделал следующее:

// 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>

Но на этапе запроса Apply страница все еще остается «домашней». Он должен получить параметр страницы из запроса, применить его к дереву компонентов и отобразить контекст «статей». Почему не происходит?

Ура

6
задан markzzz 2 December 2010 в 15:10
поделиться