0

t:popup でサンプル コードを実行しようとしています。以下のコードをコピーしました。

    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>

    <f:view>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>t:popup example</title>
    <style type="text/css">
    <!--
       .popClass{
           background-color:#F1F1F1;
       }
    -->
    </style>
    </head>
    <body>
    <h:form>
      <t:popup styleClass="popClass"
               closePopupOnExitingElement="true"
               closePopupOnExitingPopup="true"
               displayAtDistanceX="0"
               displayAtDistanceY="0">
            <h:outputText value="JSF tutorials and examples." style="font-weight:bold;"/>
            <f:facet name="popup">
               <h:panelGrid columns="1" >
                 <h:commandLink value="http://roseindia.net/jsf" />
                 <h:commandLink value="http://myfaces.apache.org" /> 
               </h:panelGrid>
            </f:facet>
      </t:popup>
     </h:form>
    </body>
    </html>
    </f:view>

Tomahawk 1.1.13 と共に JSF 2.0 を使用しています。また、Apache tomcat 7でアプリケーションを実行しています。問題が何であるかはわかりませんが、outputTextのみが表示され、テキストにマウスオーバーしても何も起こりません。

t:popup を使用するのはこれが初めてです。誰かが同様の問題に直面した場合は、どのように解決したか教えてください。

ありがとう、ジェーン

4

1 に答える 1

1

JSF 2.0 以降、静的リソースの処理が改善されました。コンポーネント ライブラリのコンポーネントが依存する JS/CSS ファイルは、新しい@ResourceDependencyアノテーションによって自動インクルードされます。これには<h:head>コンポーネントが必要です。

ただし、JSF 2.0 以降非推奨となっている JSP を使用しているため、<h:head>タグを含む新しい JSF 2.0 固有の機能/拡張機能をすべて使用することはできません。

従来の JSP をその後継の Facelets (XHTML) に置き換えると、<h:head>タグを使用できるようになり、最終的に<t:popup>は、機能と外観に必須の JS/CSS ファイルを自動インクルードできるようになります。

以下も参照してください。


具体的な問題とは関係ありませんが、roseindia.net は、Java EE 関連のチュートリアル/リソースに関して最悪のサイトの 1ですまた、JSF 1.x と JSF 2.x を対象としたチュートリアルを混乱/混同しているようです。JSF 2.x を学習するときは、JSF 1.x を対象としたリソースを絶対に見てはいけません。混乱するだけです。なぜなら、JSF 2.x では古い JSF 1.x と比べて多くのことが異なる方法で行われているからです。

以下も参照してください。

于 2012-08-28T14:32:20.487 に答える