javax.el.PropertyNotFoundException: свойство 'foo' не найдено в типе com.example.Bean
blockquote>Это буквально означает, что упомянутый класс
com.example.Bean
не имеет общедоступный (нестатический!) метод getter для указанного свойстваfoo
. Обратите внимание, что само поле здесь не имеет значения!Имя открытого метода getter должно начинаться с
get
, за которым следует имя свойства, которое имеет заглавные буквы только в первой букве имени свойства, как вFoo
.public Foo getFoo() { return foo; }
Таким образом, вам необходимо убедиться, что существует метод получения, точно соответствующий имени свойства, и что метод
public
(неstatic
) и что метод не принимать любые аргументы и возвращать неvoid
. Если у вас есть один, и он по-прежнему не работает, то есть вероятность, что вы были заняты редактированием кода вперед и назад без прочной очистки сборки, восстановления кода и повторного развертывания / перезапуска приложения. Вы должны убедиться, что вы это сделали.Для свойств
boolean
(неBoolean
!) Имя метода getter должно начинаться сis
вместоget
.public boolean isFoo() { return foo; }
Независимо от типа, наличие самого поля
foo
, таким образом, не имеет значения. Он может иметь другое имя или быть полностью отсутствующим или даже бытьstatic
. Все ниже должно быть доступно${bean.foo}
.public Foo getFoo() { return bar; }
public Foo getFoo() { return new Foo("foo"); }
public Foo getFoo() { return FOO_CONSTANT; }
Понимаете, это не то, что подсчет, но сам метод геттера. Обратите внимание, что само имя свойства не должно быть капитализировано в EL. Другими словами,
${bean.Foo}
никогда не будет работать, это должно быть${bean.foo}
.См. Также:
- javax.el.PropertyNotFoundException: Свойство 'foo' не читается в виде java.lang.Boolean
- Как язык выражения Java решает логические атрибуты? (в JSF 1.2)
- Идентификация и решение javax.el.PropertyNotFoundException: Target Unreachable
- Выведенный код Facelets по-прежнему вызывает EL выражения типа # {bean.action ()} и вызывает javax.el.PropertyNotFoundException на # {bean.action}
Проверьте здесь:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0
, Устраняющий пути там, должен добиться цели, бросить специальный взгляд на VisualStudioLocation который точками по умолчанию к %USERPROFILE %\Documents\Visual Studio 2008