如果我想在 JSF 2.0 中创建多个托管 bean 实例,在同一范围内使用不同的名称,我应该如何进行?理想情况下,我希望等效项(例如):
@ManagedBeans({name="myManagedBean1",name="myManagedBean2"})
@RequestScoped
public class MyManagedBean {
}
谢谢 ..
最佳答案
你不能。从技术上讲,它也没有多大意义。您可能正在为特定的功能需求寻找错误方向的解决方案。
最好的办法是拥有一个父 bean 并将那些“多个 bean”作为子代。
@ManagedBean
@RequestScoped
public class Parent {
private Child child1;
private Child child2;
// ...
}
以便您可以通过
#{parent.child1}
访问它和 #{parent.child2}
.您当然也可以使用 List<Child>
属性(property)甚至Map<String, Child>
而是更加灵活。与
faces-config.xml
但是,可以使用不同的名称定义多个 bean 类。尽管如此,我还是不明白这有什么用。
关于jsf - 在 JSF 2.0 中创建托管 bean 的多个实例的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710075/