什么是在JSF 2.0中创建托管bean的多个实例的正确方法

Dav*_*ave 7 jsf facelets jsf-2

如果我想在JSF 2.0中创建多个托管bean实例,在同一范围内使用不同的名称,我该如何处理?理想情况下,我希望等效(例如):

@ManagedBeans({name="myManagedBean1",name="myManagedBean2"})
@RequestScoped
public class MyManagedBean {

}
Run Code Online (Sandbox Code Playgroud)

谢谢 ..

Bal*_*usC 11

你不能.从技术上讲,它也没有多大意义.您可能正在寻找针对特定功能要求的错误方向的解决方案.

你最好的选择是拥有一个父bean并将这些"多豆"作为孩子.

@ManagedBean
@RequestScoped
public class Parent {
    private Child child1;
    private Child child2;
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这样你就可以通过#{parent.child1}和访问它了#{parent.child2}.您当然也可以使用List<Child>房产,甚至Map<String, Child>更灵活.

随着faces-config.xml它的然而却可以用不同的名称定义多个bean类.然而,我还没有看到它是如何有用的.