我想清楚地了解开发JSF应用程序的正确方法。 在我们的项目中,模型和控制器是同一个类,由CDI bean表示。我有点困惑这是不是一个好习惯。据我了解MVC模式,控制器应该处理用户操作(例如提交表单),模型应该包含业务逻辑和数据。或者可以,他们在同一个班级? 此外,每个页面都应该有自己独立的控制器/模型(即它被认为是一种好的做法)?
答案 0 :(得分:6)
通常最好有两个层 - 一个使用JSF托管bean(可能由CDI管理),另一个使用与使用它们的Web框架无关的bean。
对于“控制器” - FacesServlet
可以被视为整个应用程序的"front controller"。
答案 1 :(得分:4)
JSF控制器只是UI处理程序,它们不应该带有任何业务逻辑。通常还有更多层(我这里只包括与逻辑相关的层):