11

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

4

8 回答 8

12

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

于 2008-09-04T11:56:21.103 回答
12

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

图书馆

考虑以下库:

建筑学

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

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

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

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

控制器是会话级别

根据您的数据模型设计控制器,将它们相互嵌套。(这篇文章太长了,所以我不会深入讨论这些细节)。

所需知识

每个人:

至少一人:

  • 创建自定义组件
  • JSF 的限制(后退按钮、随机导航等)
  • 调试 3rd 方库(至少一个人必须能够轻松地打破调试器并进入 JSF 的实现(最容易使用像 MyFaces 这样的开源实现))
于 2008-09-16T13:55:28.530 回答
11

一些提示: 了解 JSF 请求生命周期以及您的各种代码适合其中的位置。特别要找出如果存在验证错误,您的模型值将不会更新的原因。

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

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

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

于 2008-09-27T06:15:02.427 回答
0

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

也就是说,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

于 2008-12-04T20:41:44.383 回答
0

您可以通过以下链接查看它,您可以在其中找到有趣的文章

http://www.jsftutorials.net/

于 2012-01-10T18:19:04.137 回答
-1

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

于 2011-10-05T19:03:07.627 回答