uCosminexus Portal Frameworkでは,HTMLのテーブル要素を使用して複数のポートレットをポータル画面に統合しています。そのため,Multi Web Portlet以外のポートレット内でFRAMESET要素を直接使用できません。ポートレットでフレームを表示するには,IFRAME要素を使用します。
ポートレットでは,単一のフレームまたは複数のフレームを表示できます。単一のフレームを表示するにはIFRAME要素を使用します。複数のフレームを表示するには,IFRAME内でFRAMESET要素を使用します。
(1) 単一のフレーム(iframe)
単一のフレームを表示するサンプルを次に示します。HTMLでiframeを使用する場合と同様に,iframeを使用できます。
{PROJECT_HOME}¥portlets¥iframe¥index.jsp
<%@ taglib uri="http://soft.hitachi.co.jp/portal/urlutils" prefix="uu" %>
<%@ page import="jp.co.hitachi.soft.portal.portlet.PortletURI" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<uu:iframe src="contents.jsp" width="100%">
IFRAMEをサポートしたWebブラウザを利用願います。
</uu:iframe><br>
{PROJECT_HOME}¥portlets¥iframe¥contents.jsp
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="jp.co.hitachi.soft.portal.portlet.PortletURI" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Inline Contents</title>
</head>
<body>
<%
// タグライブラリなどを利用してコンテンツを作成します
%>
</body>
</html>
(2) 複数のフレーム(iframe+frameset)
複数のフレームを表示するサンプルを次に示します。複数のフレームを使用したポートレットは,最大化時だけに使用することを推奨します。
{PROJECT_HOME}¥portlets¥frameset¥index.jsp
<%@ taglib uri="http://soft.hitachi.co.jp/portal/urlutils" prefix="uu" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="jp.co.hitachi.soft.portal.portlet.beans.PortletInfoBean" %>
<%
PortletInfoBean pInfo = new PortletInfoBean();
pInfo.initBean(request);
PortletInfoBean.Mode mode = pInfo.getMode();
if (mode == PortletInfoBean.Mode.DEFAULT) { // サマリ画面作成
...
} else if (mode == PortletInfoBean.Mode.MAXIMIZE) { // 最大化画面作成(frameset)
%>
<uu:iframe src="frameset.jsp" width="100%">
IFRAMEをサポートしたWebブラウザを利用願います。
</uu:iframe><br>
<%
} else { // エラー画面
...
}
%>
{PROJECT_HOME}¥portlets¥frameset¥frameset.jsp
<%@ taglib uri="http://soft.hitachi.co.jp/portal/urlutils" prefix="uu" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head><title></title></head>
<frameset cols="20%,80%">
<uu:frame src="navigation.jsp"/>
<uu:frame src="main.jsp"/>
</frameset>
</html>