これは、プロパティがに設定されているためreadonlyです。これが評価された場合true、JSFは送信された値を処理しないため、モデルは更新されません。readonlyビューのレンダリング時に設定し、JSFに送信された値を処理させる場合は、レンダリング応答フェーズでのみ評価するように設定するtrue必要があります。これに使用できますFacesContext#getRenderResponse()。メソッドでこれを行う必要がありますisDisable()。
public boolean isDisable() { // TODO: rename to isReadonly().
return FacesContext.getCurrentInstance().getRenderResponse();
}
注:JSF2では、ビューからもアクセスできます。これFacesContext#getCurrentInstance()により#{facesContext}、モデルの定型文が節約されます。
<h:inputText ... readonly="#{facesContext.renderResponse}" />
また、JSF2を使用している場合<f:viewParam>、このアプローチはGETリクエストでは機能しなくなることにも注意してください。説明と回避策については、「ap:calendarを読み取り専用にする」も参照してください。