5

JSF 2.1。*で、IEの条件付きコメントが機能しなくなったことに気づきました。さまざまな文字がHTMLエンティティに置き換えられ、コメント構文が無効になっています。BalusCは、 h:outputTextを使用する別の質問で問題の解決策を指摘しています。私の問題は、ページの上部、最初の要素の周りに条件付きコメントが必要なことです。これは、名前空間をまだ定義していないため、h:outputTextを使用できないことを意味します。とにかくそれは正しいと思います。これがコード例です。

最近のほとんどのJSFページは、HTML5ボイラープレート構文に似たテンプレートから始まります。

<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7 my-application" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8 my-application" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9 my-application" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js my-application" xmlns="http://www.w3.org/1999/xhtml"
  xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core" lang="en"><!--<![endif]-->
<h:head>
  <meta charset="utf-8" />
  ...

BalusCの前述のソリューションでは、<h:outputText />2行目が必要ですが、h名前空間はまだ定義されていません。これは、さまざまな名前空間をアタッチできるが、最終的なHTMLには影響しない、使用できる要素ですか?この問題を回避する方法は他にありますか?

リー、

4

1 に答える 1

8

すべてをaでラップし、<f:view>そこで名前空間を定義します。

<!DOCTYPE html>
<f:view xmlns="http://www.w3.org/1999/xhtml" ...>
    ...
</f:view>

それ以外の場合、JSFビュー全体はすでに暗黙的に。でラップされてい<f:view>ます。

于 2012-05-16T11:41:53.243 に答える