【问题标题】:Mojarra 2.2-snapshot and doctypesMojarra 2.2-快照和文档类型
【发布时间】:2013-03-06 20:55:35
【问题描述】:

我决定尝试 JSF 2.2(或我们目前拥有的),所以我获取了 Mojarra 的最新快照版本并进行了设置。现在我有一个使用漂亮照片的模板。它在 JSF 2.1 上运行良好,但是当我更改为最新的 mojarra 版本时,prettyphoto 窗口没有显示。它让我发疯了几个小时(我的电脑里现在有 2 台 glassfish 服务器,一台使用最新的 mojarra,一台使用稳定版)。在意识到最新的 mojarra 版本没有忽略以 <ui:composition> 开头的模板客户端的 DOCTYPE 后,我开始使用它。

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

JSF MASTER TEMPLATE 带有 DOCTYPE HTML 和一些 UI:INSERTS

<?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 composition 一起发送。我认为它应该忽略 ui:composition 之外的所有内容。 在稳定的 Mojarra 构建中,Composition DOCTYPE 被忽略,它以 html 形式出现...

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

【问题讨论】:

  • 对 JSF 2.2 最新快照的抱怨?
  • 不,我怎么能抱怨快照?哈哈。只是想知道这是一个错误还是预期的行为。如果这是一个错误我会报告它,我只是想先检查这里。
  • 最好先举报,然后大伙来干活。
  • 会的,我会让这个问题在这里闲逛一下,以防有人知道规范,并在我提交报告后删除
  • 由于 DOCTYPE 是组合而不是 html,这给我带来了一些 CSS 问题,我一直在摸索。终于弄清楚了为模板解析 DOCTYPE 的顺序包括等等。我想知道,如果它所做的只是造成这样的混乱,那么拥有“DOCTYPE 组合”的目的是什么......我想我会从'ui:composition' 让我的生活更简单

标签: java html jsf mojarra


【解决方案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">

【讨论】:

  • 这个答案没有任何意义。您是否阅读并理解了这个问题?如果是这样并且您确信答案是正确的,请编辑您的答案,以技术术语详细说明为什么和如何导致问题以及此答案如何解决问题.
猜你喜欢
  • 2013-03-24
  • 2018-08-22
  • 2022-07-26
  • 1970-01-01
  • 2019-09-03
  • 2017-07-27
  • 2019-03-22
  • 1970-01-01
  • 2016-05-26
相关资源
最近更新 更多