以下のEL式の値は有効ですか?PrimefaceのSet操作の不正な構文Boolean CheckBox?
javax.el.PropertyNotWritableException:/pages/popup.xhtml @503,170 value="#{!bean.isCreateGroup}": Illegal Syntax for Set Operation
以下のEL式の値は有効ですか?PrimefaceのSet操作の不正な構文Boolean CheckBox?
javax.el.PropertyNotWritableException:/pages/popup.xhtml @503,170 value="#{!bean.isCreateGroup}": Illegal Syntax for Set Operation
として、私はエラーを取得しています
<p:selectBooleanCheckbox value="#{!bean.isCreateGroup}" id="checkBoxCreateSecurityGrpKey">
SelectBooleanCheckBoxのvalue属性が値(L値を取得および設定することができます両方javax.el.ValueExpressionなければならないので、表現value="#{!bean.isCreateGroup}"
は、ここでは有効ではありません発現)。 ValueExpressionの連結のJavadocから
:
すべてのr値の式はL値の表現として使用することができない(例えば "$ {1 + 1}" または「$ {firstNameの} $ {lastNameの} ")
および発現言語仕様2.1から:
左辺値のための有効な構文は、右辺値のための有効な構文のサブセットです。 では、左辺値は、特定のオブジェクトの単一の変数($ {name}など)または プロパティのいずれかのオブジェクトのみで構成できます。または[]演算子(例: $ {employee.name})。
それがクリスタルクリアにするために、式はBeanのプロパティ表している必要があります:あなたのケースでは
<p:selectBooleanCheckbox value="#{bean.aBooleanProperty}" ... />
を、最も簡単な解決策は、例えば、反対の値を持っているあなたのBean内の別のブール変数を使用することですBoolean notCreateGroup
のようなものです(ところで、checkBoxCreateSecurityGrpKey
で参照されるコンポーネントは、createGroup
という名前の変数と反対の値を持つ必要があります)。また
のSe:
Using conditional operator in h:inputText value and h:commandButton actionListener