Ответ 1
Вы не должны указывать имя метода, а просто имя свойства. При указании свойств bean вам необходимо опустить префикс is
(и get
и set
).
<h:selectBooleanCheckbox value="#{node.toC}" />
EL будет просто автоматически использовать правильный getter/setter для свойства (обратите внимание, что это действительно означает, что физическое присутствие переменной экземпляра необязательно). Исключение, которое вы получили,
Вызвано: javax.el.PropertyNotFoundException:/main.xhtml @541,64 value = "# { node.isToC}": класс 'ChapterTreeNode' не имеет свойства isToC.
в основном означает, что нет такого метода, как isIsToc()
или getIsToc()
(и он имеет право).
Вторая проблема заключается в том, что вы использовали Boolean
вместо Boolean
. Вы должны действительно называть метод getToC()
или getIsToc()
вместо isToC()
. В последнем случае вы можете просто продолжать использовать #{node.isToC}
.