(源自網絡)使用jsf基本常見問題

1.jsf中沒有Page On Load事件
  解決或原因:下載第三方組件jsfExt-0.9.0.jar,需要在web.xml中配置,並且增加配置檔onload_config.xml.

2.myfaces的datatable導致,datamodel的rowIndex錯誤,即rowIndex總為rowCount
  解決或原因:更換myfaces的datatable為sun的datatable.

3.commandLink在datatable中有時無法提交
  解決或原因:沒有好辦法,只能將immediate="true".

4.採用Input hidden在immediate="true"時無法獲取backing bean中屬性值
  解決或原因:將Input hidden換為Output Text即可.

5.A4j中無法執行backing bean中的Action
  解決或原因:是因為a4j放到了f:verbatim中.

6.發現backing bean 中get屬性總在某Action前
  解決或原因:在jsp頁面中將需要get的控制項放到後面.

7.panelTabbedPane切換頁時總是執行backingbean
  解決或原因:原來是粗心導致的,panelTab的id中有一個中文數字,導致panelTabbedPane瘋了.

8.commandbutton無法執行backingbean的方法
  解決或原因:是介面控制項t:selectOneMenu綁定value問題導致的,我綁定了一個byte類型的變數,改為int類型就好了.

9.a4j中總是刷新整個頁面
  解決或原因:是因為在faces-config中配置了,a4j的action的返回頁面.

(源自網絡)JSF日期顯示不正確(比實際日期提前一天)的解決方法

方法一.
在格式化日期的時候,我們會使用 <f:convertDateTime>了,但是直接使用總是轉換不正確,因為對於中國用戶,要把日期轉換的 timeZone 設置成GMT+8才能轉換正確,也就是這麼寫
<f:convertDateTime pattern="yyyy/MM/dd" timeZone="GMT+8"/>

方法二.
<t:inputCalendar displayValueOnly="true" renderAsPopup="true" readonly="true" value="#{yourBackingBean.selectDate }"/>