jsf-2.0: большой pb с использованием forEach рядом с параметром get - PullRequest
2 голосов
/ 17 сентября 2011

Вот код, надеюсь, вы мне поможете.

<f:metadata>
    <f:viewParam name="id" value="#{edit.id}" required="true" requiredMessage="required" />
    <f:event type="preRenderView" listener="#{edit.create}" />
</f:metadata>
.....
<c:forEach items="#{edit.elements}" var="element">
    <ui:include src="/include/#{element}.xhtml" />
</c:forEach>

I абсолютно необходимо включить динамическую страницу, потому что огромное количество ее заранее неизвестно ... Так что проблема в том, этот метод create вызывается после получения списка элементов из-за жизненного цикла c: forEach.

Я также пробовал события preValidate, postValidate и preRenderComponent, но ничего не помогает.

Большое спасибо; ты мои герои

1 Ответ

0 голосов
/ 17 сентября 2011

Я нашел обходной путь, чтобы заставить его работать. Просто добавьте следующее:

<input type="hidden" name="id" value="#{edit.id}" />

@ManagedProperty(value = "#{param.id}")
private Integer id;

Похоже, что работает в любом случае, но не уверен насчет наилучшей практики ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...