Spring UserService类未使用@ViewScoped找到,但可与@SessionScoped一起使用
我有一个用户服务,在使用ViewScope时ClassNotFound会失败,但在SessionScoped中却能正常工作,我希望有人能告诉我原因。我的应用程序将JSF2与Spring混合使用 我得到的错误是:Spring UserService类未使用@ViewScoped找到,但可与@SessionScoped一起使用,spring,jsf,jsf-2,Spring,Jsf,Jsf 2,我有一个用户服务,在使用ViewScope时ClassNotFound会失败,但在SessionScoped中却能正常工作,我希望有人能告诉我原因。我的应用程序将JSF2与Spring混合使用 我得到的错误是: java.lang.ClassNotFoundException: com.dave.user.service.IUserService 托管bean是 @ManagedBean(name="ClientMB") @ViewScoped public class ClientMB im
java.lang.ClassNotFoundException: com.dave.user.service.IUserService
托管bean是
@ManagedBean(name="ClientMB")
@ViewScoped
public class ClientMB implements Serializable{
@ManagedProperty(value="#{UserService}")
IUserService userService;
public IUserService getUserService() {
return userService;
}
public void setUserService(IUserService userService) {
this.userService = userService;
}
UserService定义为
public class UserService implements Serializable, IUserService {
// UserDAO is injected...
IUserDAO userDAO;
}
IUserService只是一个接口:
public interface IUserService {
ApplicationContext中的声明是
<bean id="UserService" class="com.dave.user.service.UserService">
<property name="userDAO" ref="UserDAO" />
</bean>
正如我所说的,使用SessionScoped可以很好地工作,但是当我将托管bean更改为ViewScoped时失败。问题来自将状态保存从服务器更改为客户端。一旦我返回状态,保存到服务器viewscope工作正常。不太确定为什么会发生这种事,但却毫不尴尬。这很奇怪。。。您的应用程序是如何打包的?另外,错误消息究竟何时显示?在应用程序启动时,或者当您尝试访问引用
{clientMB}
的页面时,这很奇怪!当我提交一个引用#{clientMB}的页面时,会显示该消息。该应用程序仍在使用glassfish 3进行开发。