我有一个项目表,并在每一行中有一个链接转发到编辑项目页面。要在编辑页面加载数据,我需要托管的bean在请求范围内(如果我把它放在视图范围内,我会在前进中丢失数据)。有没有办法在同一时间在ViewScope和RequestScope中有一个bean
在编辑页面中使用ajax我需要在视图中的托管bean范围由于我必须保留一些值。如果我正在使用JSF 1.0和RichFaces,我会使用请求范围和a4j:keepalive
来完成。
如何使用PrimeFaces和JSF 2.0获得此功能性,或者如何重新定义界面以获取此功能?
好吧,最后基于以下这个岗位对我来说是什么工作:
命令按钮在项目表:
public String editItem(Integer id){
return "/pages/items/edit.xhtml?faces-redirect=true&id="+id;
}
edit.xhtml:在托管bean
<o:commandButton id="editButton"
action="#{itemTableMB.editItem(item.id)}" styleClass="botonTabla">
<h:graphicImage styleClass="imagenBotonTabla" url="/resources/images/icons/pencil.png"/>
</o:commandButton>
行动:
<f:metadata>
<f:viewParam id="id" name="id" value="#{itemMB.item.id}" required="true">
</f:viewParam>
<f:event type="preRenderView" listener="#{itemMB.loadItem}" />
</f:metadata>
听众in itemMB:
public void loadItem(){
this.item = this.itemManager.get(this.item.getId());
}
这似乎是个好主意,我会试试看! – 2011-12-30 07:23:33