2012-02-16 81 views
0

我正在学习JSF/facelets。假设我有两个名称相同,但包装不同的ManagedBeans。当在xhtml中使用bean时,它接缝JSF将按字母顺序解析辅助bean。如果团队中有许多人,那么如何避免那个人不会覆盖其他支持bean,因为他们可能会为他们的bean使用相同的名称。在这种情况下是否有最佳做法?如何在JSF2.0中处理多个具有相同名称的托管bean

回答

2

为什么不在托管的bean名称前加上包名称?

例子:

package myPackage; 

@ManagedBean(name="myPackageMyClass") 
@ViewScoped 
public class MyClass { .. } 
+0

马特,当然可以。由于我是JSF的新手,我想知道这是否是最佳做法。实际上,我试图将它们打包为分离的库(.jar)作为复合组件资源,希望它们能够解析同一个库中的类,但是没有运气:managedbean被解析为它们在类路径中遇到的第一个无论它在哪里。 – 2012-02-16 09:16:44

1

如果bean类具有相同的类名,然后它已经从一开始就设计不良。问问你自己,为什么他们有同样的名字?他们有相同的责任吗?为什么不把它做成一堂课?或者他们有不同的责任?给班级一个不同的名字。

+0

假设我们正在构建一个需要数百个JSF页面的大型企业应用程序。这些页面服务于不同的目的(责任)。我们将Web层的开发分配给许多不同的人,并要求他们将自己的支持bean放到他们自己的包中(例如,Toms转到web.beans.tom,Allens转到web.beans.allen)。但是,由于豆的数量如此之多,有可能是一些豆在不同的包装中被赋予相同的名称,即使它们有不同的责任。 – 2012-02-27 10:48:58

+0

体面的IDE将创建警告和运行时容器将 – Kukeltje 2016-09-03 07:33:19

相关问题