JSF/Facelets:为什么将JSF/Facelets与HTML标记混合不是一个好主意?
我已经读过好几遍了:一些开发人员并不提倡在他们的XHTML文件中交错使用JSF/Facelets标记和HTML标记。显然HTML标记不会成为UI组件树的一部分,但这有什么缺点呢 我经常发现一些代码示例,其中作者进行了这种混合: “Seam in Action”还交错了JSF/Facelets和HTML标记 我不知道该用什么。我开始混合标签,但我开始相信这可能不是正确的选择。然而,我不明白为什么纯粹主义的方法更可取 我肯定地知道,我有一个表,其中JSF数据表没有给我足够的灵活性来显示我需要的内容,所以纯粹地这样做是不可能的 此外,我想知道为什么上面的示例中没有一个使用f:view等来代替硬编码的html、head、body等标记JSF/Facelets:为什么将JSF/Facelets与HTML标记混合不是一个好主意?,jsf,xhtml,facelets,Jsf,Xhtml,Facelets,我已经读过好几遍了:一些开发人员并不提倡在他们的XHTML文件中交错使用JSF/Facelets标记和HTML标记。显然HTML标记不会成为UI组件树的一部分,但这有什么缺点呢 我经常发现一些代码示例,其中作者进行了这种混合: “Seam in Action”还交错了JSF/Facelets和HTML标记 我不知道该用什么。我开始混合标签,但我开始相信这可能不是正确的选择。然而,我不明白为什么纯粹主义的方法更可取 我肯定地知道,我有一个表,其中JSF数据表没有给我足够的灵活性来显示我需要的
有人能帮我澄清一下吗?一般来说,我在布局/模板页面中混合使用betweek HTML和Facelets标记。但是对于实际的内容页面,我尝试只使用我选择的JSF库(JSF+RichFaces)中可用的JSF标记
这样,我可以更好地控制显示和隐藏哪些元素,以及每个元素中的内容,但我仍然可以在facelets模板文件中硬编码我的主页布局。在JSF 1.0/1.1时代,这确实“不是一个好主意”,因为当使用JSP作为视图技术时,JSF组件树中不会自动获取所有HTML。JSP急切地将所有普通HTML呈现在JSF组件树之前。例如
Lorem ipsum dolor sit amet
献祭精英
被渲染为
Lorem ipsum dolor sit amet
献祭精英
价值1
要解决此问题,您需要引入
Lorem ipsum dolor sit amet
献祭精英
这是一个真正的维护痛苦。这是JSF1.0/1.1被如此憎恨的主要原因之一
自从JSF1.2使用新的视图处理程序以来,不再需要
。开发人员现在可以松一口气了。此外,新的视图处理程序允许JSF使用与JSP不同的视图技术,Facelets就是这样诞生的
另见:
ui指令
组件)。如果您使用了相对较多的视图渲染时间,则仅视图渲染时间可能会显著加快,因为它们被渲染为“模板文本”,没有任何状态和属性(但仍然支持EL评估)。