2013-03-17 6 views
1

Я создаю приложение с использованием Spring 3 и JSF 2. Я использовал пользовательскую реализацию ViewScope от https://github.com/michail-nikolaev/primefaces-spring-scopes. Я зарегистрировал пользовательскую область.

Проблема заключается в том, что при попытке доступа к странице, где вид контекстную боб используется я получаю следующее исключение:

INFO - ViewScope - Creating bean {editUser} 
INFO - EditUser - EditUser() - class[[email protected]], rewId[null] 
INFO - ViewScope - registerDestructionCallback for bean editUser 
INFO - ViewScope - Session event bound sessionBindingListener 
INFO - ViewScope - Bean created {[email protected]} 
2013-03-18 00:30:30 com.sun.faces.lifecycle.ProcessValidationsPhase execute 
WARNING: /editUser.xhtml @10,78 value="#{editUser.rewId}": The class '$Proxy115' does not have the property 'rewId'. 
javax.el.PropertyNotFoundException: /editUser.xhtml @10,78 value="#{editUser.rewId}": The class '$Proxy115' does not have the property 'rewId'. 

Когда боб сеанса области видимости все работает отлично.

Буду признателен за вашу помощь.

ответ

0

Похоже на вашу проблему, вызванную прокси-серверами на основе JDK, сгенерированными для работы с аннотацией @Transactional.

JDK прокси создаются только для интерфейсов, реализованных в классе (в вашем случае Serializable). Таким образом, вы прокси есть только методы из Serializable интерфейсов (не на всех).

Чтобы устранить эту проблему, вам нужно переключиться в другой режим прокси (с помощью CGLIB), например, с помощью: @EnableTransactionManagement(proxyTargetClass = true) Кроме того, добавьте cglib:cglib-nodep:2.2 зависимостей проекта

+0

У меня есть набор, и методы доступа есть, должно быть что-то еще, другой компонент, который проще, отлично работает, поскольку view scoped – Mungo

+1

Похож на него, потому что некоторый прокси-код разбит на bean-компонент. Не могли бы вы предоставить код EditUser? –

+0

ping-ping? (Кстати, я автор кода, который вы используете для ViewScope, так что хотите найти исправление тоже) –