我有一个表示表格的复合组件,根据editable
属性(我创建的)可能会或可能不会显示编辑行的链接。
编辑链接是类型的<h:commandLink>
,并且actionListener
s 指向支持 bean 中的方法。当我希望表格可编辑时,用于处理编辑的支持 bean 作为<cc:attribute name="editBean"... />
属性提供。editable
如果我不需要表格可编辑,我将editable
属性设置为,false
并且链接rendered
属性也设置为 false。
我的问题是,如果我设置editable
为false
,因此也不设置属性editBean
,我会得到错误,指出没有处理编辑的方法(例如 java.lang.String 没有属性 xxxxx)。
我曾希望,由于链接设置为根本不呈现,因此在 action/actionListener 中指定的内容将被忽略。对我来说,首先检查rendered
属性然后,如果它设置为true
,检查其他属性是合乎逻辑的。
所以,我的问题是:为什么它会这样工作,是否有一种优雅的方式来处理这种情况?