Mojarra 2.2-snapshot和doctypes

时间:2013-03-06 20:55:35

标签: java html jsf mojarra

我决定尝试JSF 2.2(或者到目前为止我们已经拥有它),所以我抓住了Mojarra的最新快照构建并进行了设置。现在我有一个使用prettyphoto的模板。它在JSF 2.1上运行得很好,但是当我改为最新的mojarra版本时,漂亮的照片窗口没有显示。它让我疯了几个小时(我的电脑现在有2个玻璃鱼服务器,一个有最新的mojarra,一个有稳定的)。我意识到最新的mojarra构建并没有忽略以<ui:composition>开头的模板客户端的DOCTYPE,因此我开始工作。

让我的例子更清楚..我有这样的事情:

  

JSF MASTER TEMPLATE 包含 DOCTYPE HTML 以及少量用户界面:插入

<?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">

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

<?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之外的所有内容:组合.. 在稳定的Mojarra构建中,组合DOCTYPE是忽略的,它以html ...

的形式出现

我最初怀疑这是一个错误,但也许是故意的?虽然他们应该告诉你,但我一整天都迷失了。

1 个答案:

答案 0 :(得分:-1)

我有这个代码

<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">