legacy-knowledge-base
公開されました Jun. 30, 2025

アイテムセレクターの実装

written-by

Odon Barta

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • アイテムセレクタの実装の記事を使って、アイテムセレクタを作成しようとしています。
  • ステップ5で、 ポートレットは表示されますが、「選択ボタン」をクリックするとコンソールにエラーメッセージが表示され、それ以外は何も起こりません。

環境

  • Liferay DXP 7.4

解像度

  • 残念ながら、 、アイテム・セレクタ自体ではなく、ドキュメントにエラーがあります(コードに2つの小さなタイプミスがあります)
  • F5D5Portlet Java.lang.UnsupportedOperationExceptionを回避するために修正する必要があります:Requires 3.0 opt-inクラスのポートレットプロパティに、次のように "javax.portlet.version=3.0" を追加する必要があります(6行目):
@Component(
property = {
"com.liferay.portlet.display-category=category.sample",
"javax.portlet.display-name=F5D5 Portlet",
"javax.portlet.init-param.view-template=/view.jsp",
"javax.portlet.version=3.0"
},
service = Portlet.class
)
public class F5D5Portlet extends MVCPortlet {

view.jsp にもタイプミスがあります。 、新しい 粒子は22行目で取り除かなければならない。 であるべきだ:

selectRoleButton.addEventListener(
'click',
function(event) {
Liferay.Util.openSelectionModal(
{
onSelect: function (event) {
alert(event.value);
},
selectEventName: '<portlet:namespace />selectRole',
title: 'Select Role',
url: '<%= request.getAttribute(F5D5WebKeys.ITEM_SELECTOR_URL) %>'
}
);
}
);

の代わりに

selectRoleButton.addEventListener(
'click',
function(event) {
new Liferay.Util.openSelectionModal(
{
onSelect: function (event) {
alert(event.value);
},
selectEventName: '<portlet:namespace />selectRole',
title: 'Select Role',
url: '<%= request.getAttribute(F5D5WebKeys.ITEM_SELECTOR_URL) %>'
}
);
}
);

これらの変更が適用されると、ポートレットは期待通りに動作します。

  • ドキュメントの修正を依頼し、現在修正中です。
did-this-article-resolve-your-issue

legacy-knowledge-base