如何在JSF2.0中处理具有相同名称的多个托管bean

如何在JSF2.0中处理具有相同名称的多个托管bean,jsf,facelets,managed-bean,Jsf,Facelets,Managed Bean,我正在学习JSF/facelets。假设我有两个名称相同但包不同的ManagedBeans。在xhtml中使用bean时,JSF将按照字母顺序解析支持bean。如果团队中有很多人,如何避免这一点将不会覆盖其他支持bean,因为他们可能会使用相同的名称来表示他们的bean。在这种情况下有什么最佳实践吗?为什么不在托管bean名称前面加上包名 例如: package myPackage; @ManagedBean(name="myPackageMyClass") @ViewScoped publi

我正在学习JSF/facelets。假设我有两个名称相同但包不同的ManagedBeans。在xhtml中使用bean时,JSF将按照字母顺序解析支持bean。如果团队中有很多人,如何避免这一点将不会覆盖其他支持bean,因为他们可能会使用相同的名称来表示他们的bean。在这种情况下有什么最佳实践吗?

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

例如:

package myPackage;

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

为什么不在托管bean名称前面加上包名呢

例如:

package myPackage;

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

如果bean类具有相同的类名,那么从一开始就已经是一个糟糕的设计。问问你自己,为什么他们有相同的类名?他们有同样的责任吗?为什么不只上一节课呢?或者他们有不同的责任?给类一个不同的名称。

如果bean类具有相同的类名,那么从一开始就已经是一个糟糕的设计。问问你自己,为什么他们有相同的类名?他们有同样的责任吗?为什么不只上一节课呢?或者他们有不同的责任?给班级起一个不同的名字。

Matt,我当然可以。由于我是JSF新手,我想知道这是否是一种最佳实践。实际上,我已经尝试将它们打包成单独的库(.jar)作为复合组件资源,希望它们能够解析同一个库中的类,但没有成功:managedbean解析为它们在类路径中遇到的第一个类,而不管它位于何处。Matt,我当然可以。由于我是JSF新手,我想知道这是否是一种最佳实践。事实上,我曾尝试将它们打包成单独的库(.jar)作为复合组件资源,希望它们能够解析同一库中的类,但没有成功:managedbean被解析为它们在类路径中遇到的第一个类,而不管它位于何处。假设我们正在构建一个需要数百个JSF页面的大型企业应用程序。这些页面具有不同的用途(职责)。我们将web层开发分配给许多不同的人,并要求他们将自己的支持bean放到自己的包中(例如,Toms转到web.beans.tom,Allens转到web.beans.allen)。但是由于有这么多的bean,有些bean可能在不同的包中被赋予相同的名称,尽管它们有不同的职责。一个好的IDE将创建警告,运行时容器将显示我们正在构建一个需要数百个JSF页面的大型企业应用程序。这些页面具有不同的用途(职责)。我们将web层开发分配给许多不同的人,并要求他们将自己的支持bean放到自己的包中(例如,Toms转到web.beans.tom,Allens转到web.beans.allen)。但是由于有这么多bean,有些bean很可能在不同的包中被赋予相同的名称,尽管它们有不同的职责。一个好的IDE将创建警告,并且运行时容器将