Mojarra 2.2-snapshot and doctypes



我决定尝试JSF 2.2(或者我们目前所拥有的),所以我抓取了Mojarra的最新快照构建并进行了设置。现在我有了一个使用pretypto的模板。它在JSF 2.1上工作得很好,但是当我切换到最新的mojarra构建时,pretyphoto窗口没有显示。它让我疯狂了几个小时(我的电脑现在有2个glassfish服务器,一个是最新的mojarra,一个是稳定的)。在意识到最新的mojarra构建并没有忽略以<ui:composition>开头的模板客户端的DOCTYPE后,我让它工作了。

为了让我的例子更清楚…像这样:

JSF 主模板DOCTYPE HTML和一些UI: insert

<?xml version='1.0' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">

使用DOCTYPE组合实现主模板的JSF常规页面:

<?xml version='1.0' encoding='UTF-8' ?>
<?xml version='1.0' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:jsf="http://java.sun.com/jsf"
                template="./WEB-INF/template/MASTERTEMPLATE.xhtml>

                  .....<ui:define /> etc etc....

</ui:composition>

当这个后一个模板客户端呈现给浏览器时,它将与doctype组合一起发送。我认为它应该忽略ui:composition之外的一切。在稳定的Mojarra构建中,Composition DOCTYPE被忽略,它以html…

我最初怀疑这是一个bug,但也许它是故意的?虽然他们应该告诉你,我浪费了一整天的时间。

我有这个代码

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html" 
        xmlns:f="http://java.sun.com/jsf/core"                
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui"
        template="/template/template.xhtml">

如果你的模板文件夹在web-inf中,添加这个文件夹

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
            xmlns:h="http://java.sun.com/jsf/html" 
            xmlns:f="http://java.sun.com/jsf/core"                
            xmlns:ui="http://java.sun.com/jsf/facelets"
            xmlns:p="http://primefaces.org/ui"
            template="/WEB-INF/template/template.xhtml">

相关内容

  • 没有找到相关文章

最新更新