2

私は JSF2、Icefaces Web アプリケーションに取り組んでいます。私は次の見解を持っています:

<h:dataTable value="#{myFormBB.userRolesBean.userRoleList}" var="row">
    <h:column>
        <ice:selectBooleanCheckbox value="#{row.teamUser}" />

上記を保存すると、以下の例外が発生します<ice:selectBooleanCheckbox>

Application caught instance of: javax.faces.component.UpdateModelException
["http-bio-8081"-exec-9] ERROR com.abc.mp.em.common.ui.exception.handler.ExceptionHandler - error
javax.faces.component.UpdateModelException: javax.el.PropertyNotFoundException: /sections/response/myForm.xhtml @599,78 value="#{row.teamUser}": Property 'teamUser' not writable on type boolean
    at javax.faces.component.UIInput.updateModel(UIInput.java:849)
    at javax.faces.component.UIInput.processUpdates(UIInput.java:731)
    at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1109)
    at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1109)
    at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1109)
    at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1109)

バッキング Bean でプロパティとそのゲッターと設定を適切に定義しました。

protected boolean teamUser;

public boolean isTeamUser() {
    return teamUser;
}

public void setTeamUser(boolean teamUser) {
    this.teamUser = teamUser;
}

これはどのように発生し、どうすれば解決できますか? コンバーターを使用する必要がありますか?

4

1 に答える 1

2

value = "#{row.teamUser}":プロパティ'teamUser'はブール型では書き込みできません

このエラーは基本的に、それ#{row}boolean(またはBoolean)であり、実際にはプロパティを持たないことを示していteamUserます。

これは、#{myFormBB.userRolesBean.userRoleList}実際にのList<Boolean>代わりにを返したことを示していList<SomeBeanWithTeamUserProperty>ます。モデルを確認して修正します。

于 2013-01-09T19:55:10.800 に答える