2

テーブルを表す複合コンポーネントがあり、editable(作成した) 属性に応じて、行を編集するためのリンクが表示される場合と表示されない場合があります。

編集リンクはタイプ<h:commandLink>でありactionListener、バッキング Bean のメソッドを指す があります。テーブルを編集可能にしたい場合は、編集を処理するためのバッキング Bean が<cc:attribute name="editBean"... />属性のように提供されます。editable

テーブルを編集可能にする必要がない場合は、editable属性をに設定falseし、linksrendered属性も false に設定します。

私の問題は、属性を設定して設定しないと、editable編集を処理する方法がないことを示すエラーが発生することです (たとえば、java.lang.String にはプロパティ xxxxx がありません)。falseeditBean

リンクがまったくレンダリングされないように設定されているため、action/actionListener で指定された内容が無視されることを期待していました。私には、最初に属性をチェックしてから、renderedそれが に設定されているtrue場合は、他の属性をチェックするのが論理的だと感じています。

だから、私の質問は次のとおりです。なぜこのように機能するのか、このシナリオを処理するエレガントな方法があるのですか?

4

1 に答える 1