java - 可用的 JSF MVC 组件

标签 java jsf web-applications jakarta-ee

我是基于 Java 的网络编程的新手,正在尝试从头开始学习 JSF。我听说 JSF 被解释为一个完整的 MVC 解决方案,而 Facelets 是一种纯 XML 技术,包含 MVC 架构的“ View ”组件。

因此,不知道有什么更好的,这让我问:每个组件有哪些选择/备选方案?对于这 3 个(模型、 View 和 Controller )中的每一个,存在哪些工具/API/库/技术可以与 JSF 一起使用。例如,如果正确理解 View 基础知识,JSP 是 Facelets 的(旧的/过时的)替代品。还有其他人吗?模型组件怎么样:我在那里有哪些选择? Controller ?

再次重申,现在只是对将所有内容都置于 JSF 保护之下感兴趣:如果该组件作为 JSF 解决方案的某个部分兼容,我想听听!

感谢您的任何建议!

最佳答案

我很惊讶 BalusC 还没有用他令人作呕的完整答案之一来解决这个问题。我怀疑他会解决这个问题,当他这样做时我会投票支持它,因为它会很棒所以不要马上接受我的回答。与此同时,这里有一些想法:

JSF 旨在成为完整的 MVC 堆栈,重点放在 VC 上。您的 JSP/Facelets 是正确的。简单地说,不要使用 JSP。使用 Facelets。它们是 JSF 2 的默认 View 技术。它们是基于 xml 的,可以防止您因 JSF 生命周期和 JSP 生命周期之间的“有趣”交互而受到伤害。

您将编写 Java 类和导航规则来充当 JSF 中的 Controller 角色。您可以将 JSF 托管 bean 用于您的服务,或者您可以为此目的使用某些其他框架(如 Spring),但您将实现特定的类以用作 JSF 中的 Controller 。

至于模型……好吧,任何好的 MVC 框架都会将模型留给自己。模型不应该知道或关心它在哪个 View 中。希望您可以使用从 JSF 到 Wicket 再到 Vaadin 的任何东西将模型显示在网页中,然后也可以在桌面应用程序或基于 RESTful JSON 中使用它应用程序接口(interface)。

我建议您通过以下链接了解 JSF

关于java - 可用的 JSF MVC 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7407451/

相关文章:

web-applications - tomcat web应用程序身份验证

apache - .htaccess:此处不允许使用位置

Java 正确更新变量的问题

java - 从 ArrayList<String> 矩阵创建制表符分隔的 .txt 表

java - Spring Boot 应用程序不会 Autowiring 字段

java - 无法在 Kotlin 中使用 Apache Commons-IO

jsf - MyFaces 中的内存泄漏

java - JSF:h:数据表问题

java servlet cos多部分: save inpustream for later storage

linux - Nginx:如何查看哪些文件处于下载状态?