我需要根據某些輸入字段顯示響應頁面。例如。在下面tabid inputHidden:驗證失敗時如何訪問POST參數
#{controllerBean.tabId}
...
<h:form id="edit">
<h:inputHidden value="#{controllerBean.tabId}" id="tabid" />
<h:inputText value="#{controllerBean.name}" id="name" />
</h:form>
但是當以相同的形式的一些其他輸入具有驗證錯誤(例如「姓名」的inputText)。將不會分配「controllerBean.tabId」值,因爲JSF在驗證階段返回。
我仍然需要tabId正確和具有2個的領悟顯示頁面:
#{param['edit:tabid']}
或使用綁定:
#{tabId.value}
<h:inputHidden value="#{controllerBean.tabId}" id="tabid" binding="tabId" />
我的問題是,這些2的是更好還是最佳實踐?或者有更好的方法來做到這一點?
更新:
注意。在我的具體情況中,tabid由客戶端javascript設置。
- 服務器回覆html中的一些項目。
- Javascript將這些項目放在頁面上的不同選項卡上。
- 其中一個選項卡將數據發送到服務器,並使用表單中的當前tabid。
所以我的服務器需要知道tabid來顯示選擇了正確選項卡的響應頁面。
但如果你需要它在managedBean但如果驗證錯誤occures託管bean將不會被調用。 – BholaVishwakarma
這不是我的bean需要它,而是我的頁面。具體來說,我的頁面需要tabid才能知道要顯示哪個選項卡 – Kai
您是否有機會使用'@ ViewScoped'?這將允許您在bean中保留當前標籤ID。 –