【问题标题】:What are the best practices for JSF? [closed]JSF 的最佳实践是什么? [关闭]
【发布时间】:2010-09-07 02:40:20
【问题描述】:

我过去做过 Java 和 JSP 编程,但我是 Java Server Faces 的新手,想知道是否有一套 JSF 开发的最佳实践。

【问题讨论】:

    标签: java jsf


    【解决方案1】:

    考虑使用facelets- 它极大地简化了JSF 开发中最糟糕的部分。我现在正在做一个没有 facelets 的基于 CMS 的 JSF 项目(在用它做了一个项目之后),感觉就像我的左臂不见了....

    【讨论】:

    • +1。没有 Facelets 的 JSF 感觉很糟糕。
    【解决方案2】:

    我强烈建议让有 JSF 经验的人来领导您在 JSF 中的第一个项目,即使这意味着要向承包商支付 3 个月的费用。 JSF 方法与 JSP 非常不同。您处理和解决问题的方式非常不同。

    考虑以下库:

    架构

    拥抱MVC,您不仅需要知道这意味着什么,还需要广泛使用它。

    将控制器与视图关联的主要模式有两种

    点网样式,每个视图一个请求控制器

    每个顶级页面都有一个请求范围控制器(bean),页面的所有验证和操作都使用这个类。也用于过滤和排序模型。 模型将存储在一些会话级控制器上,这些控制器将处理与后端(EJB 或持久层)的对话,这些会话控制器应该实现业务逻辑,并且不了解 JSF、HTML 或任何表示技术。

    控制器是会话级别的

    根据您的数据模型设计控制器,将它们相互嵌套。 (这篇文章太长了,我就不细说了)。

    所需知识

    大家:

    至少一个人:

    • Creating Custom Components
    • 对 JSF 的限制(后退按钮, 随机导航等)
    • 第三次调试 党图书馆(至少一个人 必须很舒服地爆发 调试器并进入 JSF 的实现(最简单的 开源实现,例如 我的脸))

    【讨论】:

      【解决方案3】:

      一些提示: 了解 JSF 请求 lifecycle 以及您的各种代码适合它的位置。尤其要找出如果出现验证错误,您的模型值不会更新的原因。

      选择一个标签库,然后坚持下去。花点时间确定您的需求并制作不同库的原型。混合使用不同的标签库可能会对您的心理健康造成严重伤害。

      【讨论】:

        【解决方案4】:
        • 添加我对 facelets 的投票。我最近升级了一个项目以使用 facelets,它解决了 jsf 的一些大问题,特别是为您提供了一个开箱即用的体面模板系统,并让您在适当的时候使用标准 html,而无需将其包装在“逐字”中-标签。
        • RestFaces 是许多人抱怨的 get/post 问题的解决方案。它也有据可查且易于使用。
        • 不要使用太多标签库。升级时这会使工作变得更加困难。
        • SEAM收集了很多JSF的最佳实践,但是我还没用过,所以真的不能推荐,只推荐大家看看。

        【讨论】:

          【解决方案5】:

          我一直在使用 JSf 的 IBM 实现并且有一些 cmets。这不是一条坏路,但您必须致力于 IBM 的“生活方式”。他们编写了自己的标签库来扩展 JSF 标准。如果您能够设法留在 Rational Application Developer (RAD)(它不会经常更新),那么集成有时会出现错误,但总体上还不错。与 WebSphere 的集成也非常好。除非您的雇主与 IBM 一起打高尔夫球,否则我认为最好保持原样。

          【讨论】:

            【解决方案6】:

            我还不知道跨字段/表单级别验证的“最佳实践”。

            也就是说,JSF 验证目前是面向单字段验证的。当您查看复杂的跨字段/表单级别验证时,IMO 会变得很难看。

            老了,但在我看来仍然很敏锐 http://weblogs.java.net/blog/johnreynolds/archive/2004/07/improve_jsf_by_1.html

            http://www.jroller.com/robwilliams/entry/jsf_multi_field_validation_not

            【讨论】:

              【解决方案7】:

              您可以通过以下链接查看感兴趣的文章

              http://www.jsftutorials.net/

              【讨论】:

                【解决方案8】:

                选择一个好的组件库。不要使用richfaces,我建议你不要使用jsf,在rest架构中使用spring mvc,jquery fro view和json。但如果必须,请使用易于使用且组件充足的 primefaces。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-11-21
                  • 1970-01-01
                  • 2010-09-08
                  • 2013-09-30
                  • 2019-10-21
                  相关资源
                  最近更新 更多