問題
- Liferay Faces(PrimeFaces)ポートレットで、以下のようなマークアップを使用した場合:
<p:link
DOM上で不正なリンクに変換されます:
href="d3://searchdefault&test_1=dummy=="
value="Hover the mouse or inspect here to see the resulting hyperlink"
/>
<a href="d3:?_jsfBridgeRedirect=true" class="ui-link ui-widget"></a>
環境
- ポータル6.2
- Liferay DXP 7.0+
解決策
- PrimeFaces
<p:link />
コンポーネントのレンダラーは、href
属性の値を「リダイレクト」タイプのURLとみなしています。 詳しくは、 OutcomeTargetRenderer.java#L172をご覧ください。
ポートレット環境では、_jsfBridgeRedirect=true
パラメータが自動的に付加されます。
開発者は、代わりに以下を使用することが推奨されます:
<h:outputLink value="d3://searchdefault&test_1=dummy==">
<h:outputText value="Click Me" />
</h:outputLink>