0

WSRPポートレットに、イメージを参照するcssファイルを参照するjspページが表示されている場合、css内のURLが見つからないため、イメージをロードできません。cssのURLは相対的なものです:../ images/image.gif。

私の問題の詳細

JSR168ポートレット(Java Portlet Standard)を開発しましたが、それをOracle WebCenter 11g(他のJSR準拠のポータルサーバーの中でも)にデプロイしたいと考えています。

私のポートレットは、cssファイルを参照するjspを表示し、このcssはいくつかの画像を参照します。これらすべてのリソース(画像、css、jspsなど)は、ポートレットのwarファイルに含まれています。

WebCenterページにポートレットをロードすると、cssファイルは正しくロードされますが、このcssファイルによって参照される画像はロードされません。

その理由は、 cssを生成するために、WebCenterが長いURLを生成するため です。 。(ずっと長い)

ただし、このcssファイル内には、画像への相対パスがあります。そして、ブラウザがそれらをロードしようとすると、URLは次のようになります: http:// localhost:8888 / webcenter / resourceproxy / img/sprite.png これは存在しません。

WebCenterにcssファイルの画像を正しくロードさせるにはどうすればよいですか?

ポートレットをOracleWebCenterにデプロイする方法 別の方法で行う必要がある場合に備えて、これについて説明します。

  • http://download.oracle.com/docs/cd/E12839_01/webcenter.1111/e12405/wcadm_portlet_prodで説明されているように、java -jar wsrp-predeploy.jar source EAR target EARを実行して、ポートレットをWSRPポートレットに変換します。 htm#CHDECJHI

  • WebLogicコンソールを使用してWebLogicにデプロイします。

  • Enterprise Manager 11g FusionMiddleWareControlを使用してポートレットプロデューサーを登録します。

  • WebCenterSpacesのメインページにポートレットを追加します

私の環境

WebCenter Suite(11.1.1.2.0)+ WebLogic Server(10.3.2)SO:Windows XP SP3

よろしくお願いします。

4

3 に答える 3

1

../../css/のような相対パスを使用しないでください。代わりに<%= request.getContextPath()%> / css /を使用してください。CSS内では、画像の相対パスを維持できます。../../画像/。

于 2010-03-01T08:05:36.087 に答える
1

同様の問題があります。まあ、これは解決策を提供しませんが、理由を説明します...

集約されたページの目標の 1 つは、そのページに含まれるポートレット全体で共通のルック アンド フィールにすることです [A500]。これは、ポートレットの周囲の装飾だけでなく、そのコンテンツにも影響します。すべてのポートレットに共通の CSS スタイル シートを使用し、一連の標準スタイルを定義すると、ポートレットでコンシューマ固有のマークアップを生成する必要なく、この共通のルック アンド フィールが提供されます。ポートレットは、さまざまなコンシューマーによるコンテンツの統一された表示に参加するために、この仕様の CSS スタイル定義を使用する必要があります。CSS スタイルシートをサポートするマークアップ タイプの場合、消費者は、この仕様の [セクション 9.5] で定義されているクラスの定義を含む CSS スタイルシートをエンド ユーザーのエージェントに提供する必要があります。

誰かが仕様を書き間違えたのだと思います。

于 2010-02-22T18:35:28.547 に答える
0

JSP と同じように、エンジンを介して CSS ファイルをプッシュするようにアプリケーション サーバーを構成できると思います。この場合、これらのタグをコンパイルできるはずです。

于 2011-01-14T21:09:32.737 に答える