0

facelets XHTML ファイルを有効な XHTML 1.0 Transitional ファイルにできないのはなぜですか? xml バリデーター (w3c バリデーターなど) で facelet ファイルを送信すると、taglibs の 1 つで定義された最初のタグでエラーが表示されます。

例 1:

次のファイルをバリデーターに送信すると、エラーは表示されず、ドキュメントに taglib タグが表示されないため、検証は正常に行われます (1 つの jsf taglib が定義されています)。

<?xml version="1.0" encoding="UTF-8" ?>
<!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">
<head>
<title></title>
</head>
<body>
</body>
</html>

例 2:

ここで、xmlns:h 名前空間から h:head タグと h:body タグを挿入しましたが、これにより検証でエラーが発生します。

<?xml version="1.0" encoding="UTF-8" ?>
<!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">
<h:head>
<title></title>
</h:head>
<h:body>
</h:body>
</html>

確かに、ここで何か基本的なことが欠けていますが、まだ何がわかりません。

これは SO での私の最初の質問です。エラーがあれば指摘してください。ありがとうございます!

4

1 に答える 1

2

Facelets アプリケーションのライフサイクルを確認すると、ビューがクライアントにレンダリングされていることがわかります。<h:head>これにより、タグが xhtml に相当するものに置き換えられるなど、タグが変換されます<head>。XHTML で有効なテンプレートが必要な場合は、jsfc 属性を試してみてください。ただし、欠点があります。

于 2012-12-12T23:55:56.830 に答える