Jsf 从@RequestScope bean获取注入点列表
我有Jsf 从@RequestScope bean获取注入点列表,jsf,cdi,Jsf,Cdi,我有@RequestScoped(RequestBean)cdibean,它被注入到两个不同的@ViewScopeJSF@ManagedBean(FirstViewBean和SecondViewBean)中。我想要获得RequestBean的注入点列表。我怎么做?清单如下 RequestBean: @RequestScoped public class RequestBean { public void logPoints() { System.out.printl
@RequestScoped
(RequestBean)cdibean,它被注入到两个不同的@ViewScope
JSF@ManagedBean
(FirstViewBean
和SecondViewBean
)中。我想要获得RequestBean的注入点列表。我怎么做?清单如下
RequestBean:
@RequestScoped
public class RequestBean {
public void logPoints() {
System.out.println(getInjectionPoints());
}
private List<InjectionPoint> getInjectionPoints() {
List<InjectionPoint> result = null;
// ...
return result;
}
}
@ViewScoped
@ManagedBean
public class FirstViewBean implements Serializable {
private static final long serialVersionUID = 1867903409268465766L;
@Inject
private RequestBean rb;
public void action() {
rb.logPoints();
}
}
@ViewScoped
@ManagedBean
public class SecondViewBean implements Serializable {
private static final long serialVersionUID = 1867903409268465766L;
@Inject
private RequestBean rb;
public void action() {
rb.logPoints();
}
}
SecondViewBean:
@RequestScoped
public class RequestBean {
public void logPoints() {
System.out.println(getInjectionPoints());
}
private List<InjectionPoint> getInjectionPoints() {
List<InjectionPoint> result = null;
// ...
return result;
}
}
@ViewScoped
@ManagedBean
public class FirstViewBean implements Serializable {
private static final long serialVersionUID = 1867903409268465766L;
@Inject
private RequestBean rb;
public void action() {
rb.logPoints();
}
}
@ViewScoped
@ManagedBean
public class SecondViewBean implements Serializable {
private static final long serialVersionUID = 1867903409268465766L;
@Inject
private RequestBean rb;
public void action() {
rb.logPoints();
}
}
即使这段代码有效,它也不会总是说列表大小总是1,因为您将它注入到查看范围bean中了吗?除此之外,InjectionPoint并非仅可用于不可代理的pesudo作用域(
@Dependent
,@Singleton
)。“只有从属对象才能获取有关其所属注入点的信息。”。也许会说你需要注入点做什么。@geinmachie这些词只有依赖对象才能获得关于它们所属注入点的信息
专门用于解释获得注入点的方法。我错了吗?我认为,对于2@ViewScope
bean,它可以返回2InjectPoint
(例如,当一个@ViewScope
从action
调用,另一个从actionListener
调用时)。在我的例子中,我有多个@ViewScope
bean(但HTTP请求有一个实例),当调用@RequestScope
bean时,我希望只向实例@ViewScope
bean发送回调