Вы, вероятно, хотели использовать @ManagedProperty
. Это не может использоваться в bean-объекте области видимости для установки параметра запроса, потому что область просмотра имеет более широкую область, чем область запроса.
Канонический JSF2 способ передачи параметров запроса и вызова действий над ними будет выглядеть примерно так:
view.xhtml
просмотр:
<h:link value="Edit" outcome="edit">
<f:param name="id" value="#{item.id}" />
</h:link>
edit.xhtml
просмотр:
<f:metadata>
<f:viewParam name="id" value="#{edit.id}" />
<!-- You would normally also convert/validate it here. -->
<f:event type="preRenderView" listener="#{edit.init}" />
</f:metadata>
Edit
поддерживающий боб:
@ManagedBean
@ViewScoped
public class Edit {
private Long id;
public void init() {
// This method will be invoked after the view parameter is set.
}
// ...
}
Смотри также: