我想使用Facelets构建一个静态HTML原型。此原型将发送给没有运行web应用服务器(如Tomcat )的人。有没有办法在构建时(使用Ant等)将Facelets站点编译成一组平面HTML文件?
在最简单的情况下,我们有两个facelets,如下所示:
<!-- layoutFacelet.xhtml -->
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:insert name="content" />
</ui:composition>
<!-- implementationFacelet.xhtml -->
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="layoutFacelet.xhtml">
<ui:define name="content">
HELLO WORLD
</ui:define>
</ui:composition>输出将是单个html (例如"implementationFacelet.output.html"),如下所示:
HELLO WORLD换句话说,Facelets在构建时而不是呈现时运行,以便生成静态平面文件原型。
发布于 2011-10-28 19:22:17
我不确定是否有任何现成的解决方案来解决您的问题。然而,多亏了构建时JSF EL验证器的工作,我有一个相当好的想法来实现它,我目前正在添加对facelets的支持。我会这样做:
component tree to HTML UIViewRoot.encodeAll(context) -请参见UIViewRoot.encodeAll
因此,这是可行的,但对于以前没有使用过这些东西的人来说,可能太多了。一旦我完成了对Facelets的支持,我将考虑向验证器添加这样的功能,因为那时对我来说将非常容易。
致以最好的问候,雅各布
https://stackoverflow.com/questions/6625258
复制相似问题