【发布时间】:2013-09-24 09:34:00
【问题描述】:
我有一个表示表格的复合组件,这取决于editable 属性(我已创建)可能会或可能不会显示编辑行的链接。
编辑链接的类型为<h:commandLink>,并有actionListeners 指向支持bean 中的方法。当我希望表格可编辑时,用于处理编辑的支持 bean 以 <cc:attribute name="editBean"... /> 的形式提供,类似于属性 editable。
如果我不需要表格可编辑,我将editable 属性设置为false,并且链接rendered 属性也设置为false。
我的问题是,如果我将editable 设置为false,因此也不设置属性editBean,我会收到错误消息,指出没有处理编辑的方法(例如java.lang.String没有属性 xxxxx)。
我曾希望,由于链接设置为根本不呈现,action/actionListener 中指定的内容将被忽略。对我来说,首先检查rendered 属性,然后如果它设置为true,检查其他属性是合乎逻辑的。
所以,我的问题是:为什么它会这样工作,是否有一种优雅的方式来处理这种情况?
【问题讨论】:
标签: jsf actionlistener composite-component jsf-2.2 rendered-attribute