在JSF MVC框架中,谁是模型,视图和控制器?
这取决于观点(双关语意)。
在总体架构图中,你自己的JSF代码是V:
M-Business domain/Service layer (e.g. EJB/JPA/DAO) V - Your JSF code C - FacesServlet
在开发人员图中,体系结构V可以如下划分:
M - Entity V - Facelets/JSP page C - Managed bean
在较小的客户图中,开发人员V可以如下划分:
M - JSF component tree V - Rendered HTML output C - Client (webbrowser)
在较小的JavaScript图片中,客户端V可以如下划分:
M - HTML DOM tree V - Visual presentation C - Event listener functions (enduser interaction and Ajax)
所以基本上是一个M(M(M(MVC)C)C)C;)
请注意,一些入门者,甚至某些(非常基础的)教程都将受管Bean中的实体属性混合/复制/展平,这将有效地使控制器成为模型。不用说这是较差的设计(即不是干净的MVC设计)。