我有一個項目表,並在每一行中有一個鏈接轉發到編輯項目頁面。要在編輯頁面加載數據,我需要託管的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