我以前做过Java和JSP编程,但我是Java Server Faces的新手,想知道是否有一套JSF开发的最佳实践。
答案 0 :(得分:12)
考虑使用facelets - 它极大地简化了JSF开发的最糟糕部分。我正在做一个基于CMS的JSF项目,现在没有facelets(在用它做项目之后),感觉就像我的左臂缺失了....
答案 1 :(得分:12)
我强烈建议让具有JSF经验的人领导您在JSF的第一个项目,即使这意味着向承包商付款3个月。 JSF方法与JSP非常不同。你接近和解决问题的方式是非常不同的。
考虑以下库:
拥抱MVC你不仅要知道这意味着什么,还要广泛使用它。
将控制器与视图相关联有两种主要模式
每个顶级页面都有一个请求作用域控制器(bean),页面的所有验证和操作都使用此类。还用于过滤和订购模型。 模型将存储在几个会话级控制器上,这些控制器将处理与后端(EJB或持久层)的通信,这些会话控制器应该实现业务逻辑,并且不了解JSF,HTML或任何表示技术。 / p>
根据您的数据模型设计控制器,将它们相互嵌套。 (这篇文章太长了所以我不会深入讨论这些内容。)
每个人:
至少一个人:
答案 2 :(得分:11)
一些提示: 理解JSF请求lifecycle以及您的各种代码所在的位置。特别要找出为什么如果存在验证错误,您的模型值将不会更新。
选择一个标签库,然后坚持使用它。花点时间确定您的需求并制作不同库的原型。混合不同的taglib可能会对您的心理健康造成严重伤害。
答案 3 :(得分:1)
答案 4 :(得分:0)
我一直在使用JSf的IBM实现并且有一些评论。这不是一个糟糕的方式,但你必须承诺IBM的“生活方式”。他们编写了自己的标记lib,扩展了JSF标准。如果你可以设法留在Rational Application Developer(RAD)(经常没有得到更新),那么集成有时会出错,但整体还是不错的。此外,与WebSphere的集成非常好。除非你的雇主和IBM一起打高尔夫,否则我认为最好尽可能保持与香草的关系。
答案 5 :(得分: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
答案 6 :(得分:0)
您可以在以下链接中找到您可以找到有趣文章的链接
答案 7 :(得分:-1)
选择一个好的组件库。不要使用richfaces,我建议你不要使用jsf,在休息架构中使用spring mvc,jquery来自view和json。但如果必须,使用primefaces它易于使用,并有足够的组件。