現在、カスタムウィジェットで使用するために基本的なJSF(2.0)サポートをBackbasePortal5.2.1.2に追加しようとしています。
静的な方法(「... / portal / static / portal_name / widgets / widget_name / index.xhtml」など)でウィジェットにアクセスすると機能しているように見えますが、ポータルのコンテキストでウィジェットを表示すると( ... / portal / portals / portal_name / pages / index)私のJSFタグは、解析された出力の代わりにHTMLソースに表示されます。同じことが#{msg.title}のようなEL変数にも起こります。
「通常の」Webアプリケーションプロジェクトで同じJSFセットアップを使用する場合、それも問題なく機能するため、私の目には、この問題を引き起こしているBackbase固有の何かがあるはずです。
これが発生する原因、解決または回避できるかどうか、または誰かがこの特定のバージョンのBackbaseにJSFを実装することに成功したかどうかを知りたいです。JSFの実装がBackbase5.1で機能したことは知っていますが、私にとっては、そのバージョンに戻すことはできません。
編集-リクエストに応じてウィジェットのindex.xhtmlを追加しました(私の実際のindex.xhtmlは少し大きいですが、これも失敗します):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.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" xmlns:f="http://java.sun.com/jsf/core" xml:lang="en">
<h:head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Help ribbon widget</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</h:head>
<h:body>
<span class="left title">#{msg.help_title}</span>
<h:outputText value="TEST"/>
</h:body>
</html>
さらに、助けになる場合は、コンテナテンプレートにBorder_Layoutを使用しています。
Google Chromeインスペクターの[ネットワーク]タブに移動し、ウィジェットのindex.xhtmlファイルのリクエストを見ると、正しい出力が表示されますが、何らかの理由で、これは結合されたhtmlに表示されるものと同じではありません。