0

こんにちは皆さん私は非常に奇妙な問題を抱えています。クライアントテンプレートフェイスレットとテンプレートフェイスレットを作成しました。しかし、Webページを実行すると、定義されたタグが挿入されません。つまり、機能しません。コード
insert.xhtml は次のとおりです。

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
   <title>facelet example </title>
</head>
<body> 
  <ui:insert name="face1"> </ui:insert>
  <ui:insert name="face2"> </ui:insert>
  <ui:insert name="face3"> </ui:insert>
  <ui:insert name="face4"> </ui:insert>
</body>
</html>

compose.xhtml:

<!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:ui="http://java.sun.com/jsf/facelets"
  xmlns:h="http://java.sun.com/jsf/html">
<body>
   <ui:composition template="insert.xhtml">
   <ui:define name="face1">
   <center><h2>Facelet</h2></center>
   <h3>Welcome to the Facelet world..........</h3>
  </ui:define>
  <ui:define name="face2">Enter UserID :<br/>
   <h:inputText id="it" /><br/><br/>
   </ui:define>
   <ui:define name="face3">Enter Password :<br/>
   <h:inputSecret id="is" /><br/><br/>
   </ui:define>
  <ui:define name="face4">
   <h:commandButton id="b" value="Submit" />
  </ui:define>
   </ui:composition>
</body>
</html>

しかし<include src="compose.xhtml">、insert.xhtmlでタグを使用すると、完全なフェイスレットが表示されます。ただし、インクルードタグは、このように記述した場合にのみ機能します。

<insert name="face1">
<include src="compose.xhtml"/>
</insert>

インクルードする前にタグを削除するとinsert、インクルードも機能しません。JSF2.0ファセットのこの奇妙な動作にうんざりしています。助けてください
ありがとうございます

4

2 に答える 2

0

このチュートリアルに従ってみてください。JSF 2 テンプレートを初めて使用する場合は非常に役立ちます。ここにリンクがあります。

問題は、使用しようとしているテンプレートのパスにあると思います:

<ui:composition template="insert.xhtml">

する必要があります:

<ui:composition template="/insert.xhtml">

テンプレートがルート フォルダーにある場合。

于 2012-07-13T00:45:04.720 に答える
0

まず最初に、タグの「テンプレート」属性はオプションであることを理解する必要があるため、コードに小さな間違いがあることを意味します。

xmlns="http://www.w3.org/1999/xhtml" 
   xmlns:ui="http://java.sun.com/jsf/facelets" 
  xmlns:h="http://java.sun.com/jsf/html"

これには、html タグではなくコンポジションが付属している必要があります。あなたの質問はこの
質問に似ています.これもあなたの助けになることを願っています. ありがとう

于 2012-07-24T05:03:02.987 に答える