gpt4 book ai didi

user-interface - 当 UI 可以通过 jQuery 和 AngularJS 等 JavaScript 库实现时,还需要 JSF 吗?

转载 作者:行者123 更新时间:2023-12-03 04:39:22 25 4
gpt4 key购买 nike

我读到有关 JSF 的内容,它是一个 UI 框架并提供了一些 UI 组件。但它与 jQueryUI、AngularJS、React、Vue.js、Svelte、ExtJS,甚至纯 HTML、CSS 和 JavaScript 中提供的许多组件相比,有何更好或不同之处。

为什么人们应该学习 JSF?

最佳答案

JSF 到普通 JSP/Servlet/HTML/CSS/JS 就像 jQuery 到普通 JS:用更少的代码做更多的事情。采取PrimeFaces (基于 jQuery + jQuery UI)为例,浏览其showcase查看完整的代码示例。 BootsFaces (基于 jQuery + Bootstrap UI)还有一个 showcase带有完整的代码示例。如果您仔细研究这些示例,您就会发现您基本上需要一个简单的 Javabean 类作为模型,并需要一个 XHTML 文件作为 View 。

请注意,您不应该将 JSF 视为单独的 HTML/CSS/JS 的替代品,您还应该考虑服务器端部分(特别是:JSP/Servlet)。 JSF 消除了收集 HTTP 请求参数、转换/验证它们、更新模型值、执行正确的 Java 方法来完成业务以及生成 HTML/CSS/JS 样板代码的所有样板的需要。使用 JSF,您基本上最终会得到一个 XHTML 页面作为 View 定义和一个 Javabean 类作为模型定义。这大大加快了开发速度。

与每个基于组件的 Web MVC 框架一样,在 JSF 中,您对呈现的 HTML/CSS/JS 的细粒度控制较少。添加自定义 JS 代码并不那么容易,因为您还必须考虑服务器端的 JSF View 状态(例如,在 JS 端启用禁用的按钮不会在 JSF 端启用该按钮,这反过来又是一个巨大的安全优势)。如果这是一个主要的阻碍因素,那么不如寻找一个基于操作的 Web MVC 框架,如 Spring MVC 。您只需考虑必须自己编写所有 HTML/CSS/JS 代码(以及防止 XSS、CSRF 和 DOM 操纵!)。您自己。此外,如果您从 Facelets 回退到 JSP,您也会错过高级模板功能。

另一方面,如果您有一个基于 JSP/Servlet/HTML/CSS/JS/jQuery 的大型网站,并且您希望将重复的 JSP/Servlet/HTML/CSS/JS/jQuery 样板代码重构为可重用的组件,那么解决方案之一就是 JSF。自定义模板、标记文件和组件可以对此提供帮助。从这个角度来看,JSF 高于 JSP/Servlet/HTML/CSS/JS/jQuery(这也是为什么在深入研究 JSF 之前了解这些基础知识非常重要)。

您可以在这里找到一个基于 JSF 的真实世界启动项目:Java EE Kickoff App 。您会看到它旁边包含 JSF一样好HTML5 , CSS3jQuery .

另请参阅:

关于user-interface - 当 UI 可以通过 jQuery 和 AngularJS 等 JavaScript 库实现时,还需要 JSF 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4421839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com