我想使用JSF设计一个网页。
我可以使用<h:panelGroup>
和<h:panelGrid>
布局页面的某些部分,或者我可以改为使用<p>
,<div>
等。
只是想知道哪种方法更适合最佳做法。
谢谢!
答案 0 :(得分:19)
如果您不需要JSF标记提供的功能,我宁愿使用纯HTML。
例如,<h:panelGroup>
具有rendered
属性,允许您绑定到支持bean布尔变量以有条件地显示输出,但使用<div>
或<span>
,你不能这样做。
<h:panelGroup>
默认会生成<span>
。如果您更喜欢<div>
,则可以使用<h:panelGroup layout="block">
。它会为您生成<div>
。
答案 1 :(得分:3)
刚刚从我的实践案例来看:
1。 <p>
和<div>
您无法使用rendered
属性
2。让您的代码更具结构性和可靠性 - 让您的代码的其他用户易于阅读
答案 2 :(得分:3)
建议不要将jsf与html混淆。背景:那么你的jsf页面可以呈现为与html不同的东西。但据我所知,到目前为止只有html的渲染器(尽管你可以自己编写)。
在实践中,我发现很难遵循这个建议并最终混合使用html和jsf,例如对于标题或换行符,我使用html。
答案 3 :(得分:2)
作为一般规则,我在布局页面中使用HTML和Facelets标签之间的混合。但对于实际的内容页面,我尝试仅使用我选择的JSF库(JSF + RichFaces)提供的JSF标记。
这样我可以更好地控制要显示和隐藏的元素,以及每个元素中的内容,但我仍然可以在facelets模板文件中对主页面布局进行硬编码。