おそらく簡単な仕事に直面していて、間違った方向に歩いているように感じます. ユーザーがデフォルトのランディング ページにアクセスしたときにポップアップが必要です。このポップアップには、iframe などで外部 Web ページ (シングル サインオンでは回避できないログイン情報) が表示されます。一部のユーザーのみがこのダイアログを使用する必要があるため、このポップアップが再び表示されないようにする機会を与えたいと考えています (Cookie または DB によって、このオプションを管理者が手動でリセットする必要がある場合は問題ありません)。したがって、基本的には、iframe を使用した「Do not ask again」ポップアップが必要です。
サイズのないランディング ページに MVC ポートレットを配置することにしました。ポップアップのみ。私が持っているのは、iframe、チェックボックス、およびポップアップが閉じたときにそのチェックボックスから情報を取得できないため、これは間違った方法であるという感覚を備えた AlloyUI ポップアップです。
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %>
<portlet:defineObjects />
<aui:script>
AUI().ready('aui-dialog', 'aui-overlay-manager', 'dd-constrain', 'console',
function(A) {
var bodyNode = A.Node.create('<div><iframe src="http://www.dummysite.com"></iframe> </div>');
var footerNode = A.Node.create('<input name="donotaskagain" type="checkbox"></input> <label for="donotaskagain">Do not ask again</label>');
var dialog = new A.Dialog({
title: 'DISPLAY CONTENT',
centered: true,
modal: true,
resizable: false,
width: 510,
height: 430,
bodyContent: bodyNode,
footerContent: footerNode
});
dialog.render();
}
);
</aui:script>
これで私を助けてくれることを願っています。そのコンテキストで JSP、AlloyUI、および Java を適切に使用する方法に関するすべての背景情報をいただければ幸いです。