До сих пор я нашел несколько хороших ответов на подобный контент, но никогда не решал мою проблему.Я пытаюсь выполнить это наилучшим образом.
В моем приложении (JSF 2.0, работающем на Glasshfish) у меня есть список событий (назовем это EventPage).Можно щелкнуть каждое событие, чтобы затем отобразить страницу «результатов» (ResultPage), показывающую список людей, которые посетили это событие.
На EventPage ссылка сделана так:
<h:link value="#{event.eventName}" outcome="displayResults">
<f:param name="eventCode" value="#{event.eventCode}"/>
</h:link>
Затем, в результате - displayResult, у меня есть такой код в моем компоненте поддержки (вдохновленный похожим):
@ManagedBean
@RequestScoped
public class DisplayResults {
@ManagedProperty(value="#{param.eventCode}")
...
Это работает хорошо.Результаты отображаются в Datatable.Теперь я хочу умение их сортировать.Итак, я последовал этому примеру: http://www.mkyong.com/jsf2/jsf-2-datatable-sorting-example/.
Но, как только я изменил область действия своего компонента поддержки как нечто «запрос», я больше не могу использовать ManagedProperty.И поэтому я думаю, что мне нужно сослаться на что-то менее изящное, такое как:
public String getPassedParameter() {
FacesContext facesContext = FacesContext.getCurrentInstance();
this.passedParameter = (String) facesContext.getExternalContext().
getRequestParameterMap().get("id");
return this.passedParameter;
}
Также, читая на этом форуме, я разделяю мнение, что если вам придется копаться в FacesContext, вы, вероятно, делаете это неправильно.
SO: 1. Можно ли отсортировать таблицу данных без обновления представления?Только данные в вопросе?2. Есть ли другое хорошее решение для получения параметра url (или использования различных средств)?
Спасибо!