从JAX-RS端点设置JSF托管bean属性

从JAX-RS端点设置JSF托管bean属性,jsf,dependency-injection,jax-rs,Jsf,Dependency Injection,Jax Rs,我有一个JSF管理的bean和一个JAX-RSWeb服务 ManagedBean-myBean类 @ManagedBean @ViewScoped public class MyBean implements Serializable { private String id;//getters && setters ommited } @ApplicationPath("/myService") @Path("/") @Cons

我有一个JSF管理的bean和一个JAX-RSWeb服务

ManagedBean-myBean类

@ManagedBean
@ViewScoped
public class MyBean implements Serializable {
     private String id;//getters && setters ommited
}
@ApplicationPath("/myService")
@Path("/")
@Consumes("application/json")
public class MyService extends Application {

@Inject
MyBean myBean;

@Path("doSth")
@POST
public Response doSomething(){
    //make an action here and set myBean.id value 
    myBean.id = 'a random value';
}

}
Web服务-myService类

@ManagedBean
@ViewScoped
public class MyBean implements Serializable {
     private String id;//getters && setters ommited
}
@ApplicationPath("/myService")
@Path("/")
@Consumes("application/json")
public class MyService extends Application {

@Inject
MyBean myBean;

@Path("doSth")
@POST
public Response doSomething(){
    //make an action here and set myBean.id value 
    myBean.id = 'a random value';
}

}
我调试了上面的代码,但后来我意识到,在myBean类中,属性“id”等于null,即使我以前在
doSomething()
方法中设置了它,是否可以使用这些技术实现上述场景?在
@Inject
之前,我还尝试使用
@ManagedProperty
注入我的managedBean,但managedBean为空且未注入。 然后,当我使用
myBean.id
调用该bean时,我希望更改该bean的myBean.id属性,这可行吗


提前谢谢

让jsf托管bean成为cdi托管bean…嗨,Kukeltje,谢谢你的回答,你能给我提供更多的细节吗?嗯。。。。您已经以
@Inject
的形式使用了cdi是的,我试图用
@ManagedBean
注释替换
@Named
,但我在服务器上遇到了许多错误(我目前正在处理一个中型应用程序,上面的代码是一个示例),我放弃了这个想法,我想我应该在这次迁移上付出一些努力。这是否回答了您的问题?让jsf托管bean成为cdi托管bean…嗨,Kukeltje,谢谢你的回答,你能给我提供更多的细节吗?嗯。。。。您已经以
@Inject
的形式使用了cdi是的,我试图用
@ManagedBean
注释替换
@Named
,但我在服务器上遇到了许多错误(我目前正在处理一个中型应用程序,上面的代码是一个示例),我放弃了这个想法,我想我应该在这次迁移上付出一些努力。这是否回答了您的问题?