2015-06-16 4 views
0

На моей странице есть текстовые поля, значение атрибута которых аннотируется как @{bean.innerbean.prop}. Здесь, если внутренний bean obj является нулевым, он выдает исключение null, поскольку когда он выполняет оценку «nullobj.prop».zk MVC null check text box value data-bind аннотация

Я использую MVC 'not MVVM'. Как выполнить нулевую проверку на bean.innerbean, тогда загрузите или сохраните значение с bean.innerbean.prop.

«bean» obj Я установил его как page scope.it имеет другие реквизиты как имя, подсказку и т. Д., Которые, очевидно, хорошо работают с другими соответствующими аннотированными компонентами .... Пожалуйста, дайте мне знать, это способ сделать «пустым», , == null на @{……} ..

Im используя аннотацию (в MVC давно в мое приложение), чтобы связать пользователя, введенное-значение, которое будет сохранено на объекте, а также загрузить его на AnnotateDataBinder.loadAlll() метод будучи вызывать из AnnotateDataBinderInit класса doAfterCompose(). Мой вопрос в любом случае, чтобы выполнить нулевую проверку аннотированного значения bean-компонента ..... EL Expression оценивается один раз на фазе загрузки страницы после этого, не работает

+0

Дайте мне рабочую скрипку с 'nullpointer' и я дам вам решение – chillworld

ответ

1

Прежде всего, если вы используете MVC, вы используете неправильную аннотацию.

${} Используется для el expressions, в то время как @{} используется для data binding, ведьма - MVVM.

Так что, если вы используете правильное выражение, которое вы можете сделать:

${empty bean.innerbean?'empty':bean.innerbean.prop}