intra-mart Accel Platform ポートレット プログラミングガイド 第12版 2021-04-01

9. ポートレットの開発(非同期ポートレット編)

9.1. 概要

非同期ポートレットは、intra-mart Accel Platform で作成した画面を 非同期ポートレット内のiFrameに表示します。

通常の画面開発と方法は変わりませんが以下の点に注意する必要があります。
  • 非同期ポートレットに表示される内容(開発した画面)は、iFrame内に表示されるため、内容は通常のリクエストにより取得されます。
  • Action ハンドラ、Event ハンドラは利用できません。
  • 開発した画面は、通常の画面としてアクセスされるため、URLに対するリソース登録および認可の設定が必要となります。 認可の設定が無い場合、直接URLを入力することでポータルの参照権限が無いユーザが画面を表示させることができてしまいます。 ポータルの参照権限が無いユーザからのアクセスを抑止したい場合は、ポートレット用の画面に対してポータルの参照権限と同等のアクセス権限を付与してください。
  • 開発した画面には、通常 テーマ(ヘッダー、フッター)が付加されますので、これを付与されないようにする設定が必要です。

9.2. ポートレットモード

非同期ポートレットでサポートするポートレットモードは、表示モードのみです。

9.3. 画面開発(スクリプト開発)

  1. ポートレット用の画面を作成します。

    表示したい内容は<div id=”imui-container”>で囲む必要があります。

    (ex.) WEB-INF/jssp/src/sample/async_portlet.html

    <IMART type="head">
    
      // <head>タグ内に記述したいコードを記述します。
    
    </IMART>
    
    <div id=”imui-container”>
    
       // ここに表示したい内容を記述します。
    
    </div>
    

    必要であればプレゼンテーションページも作成してください。

  2. ルーティングとリソースの登録を行います。

    方法については、「認可仕様書」または「スクリプト開発モデル プログラミングガイド」を参照してください。

  3. アクセス制御の設定を行います。

    方法については、「認可仕様書」または「スクリプト開発モデル プログラミングガイド」を参照してください。

9.4. 画面開発(JavaEE開発)

  1. ポートレット用の画面を作成します。

    IM-JavaEE Frameworkの仕様に従って画面を開発します。

    表示したい内容は<div id=”imui-container”>で囲む必要があります。

    (ex.) 画面用JSP sample/async_portlet.jsp

    <%@ taglib prefix="imui" uri="http://www.intra-mart.co.jp/taglib/imui"%>
    
    <imui:head>
    
         // <head>タグ内に記述したいコードを記述します。
    
    </imui:head>
    
    <div id=”imui-container”>
    
       // ここに表示したい内容を記述します。
    
    </div>
  2. ルーティングとリソースの登録を行います。

    方法については「認可仕様書」を参照してください。

  3. アクセス制御の設定を行います。

    方法については「認可仕様書」または「 ポートレットのアクセス制御 」を参照してください。

9.5. 画面開発(SA Struts開発)

  1. ポートレット用の画面を作成します。

    SA Strutsの仕様に従って画面を開発します。

    表示したい内容は<div id=”imui-container”>で囲む必要があります。

    (ex.) 画面用JSP sample/async_portlet.jsp

    <%@ taglib prefix="imui" uri="http://www.intra-mart.co.jp/taglib/imui"%>
    
    <imui:head>
    
         // <head>タグ内に記述したいコードを記述します。
    
    </imui:head>
    
    <div id=”imui-container”>
    
       // ここに表示したい内容を記述します。
    
    </div>
  2. ルーティングとリソースの登録を行います。

    方法については「認可仕様書」または「SAStruts+S2JDBC プログラミングガイド」を参照してください。

  3. アクセス制御の設定を行います。

    方法については「認可仕様書」または「SAStruts+S2JDBC プログラミングガイド」を参照してください。

9.6. 画面開発( TERASOLUNA Server Framework for Java (5.x) 開発)

  1. ポートレット用の画面を作成します。

    TERASOLUNA Server Framework for Java (5.x) for Accel Platform の仕様に従って画面を開発します。

    表示したい内容は<div id=”imui-container”>で囲む必要があります。

    (ex.) 画面用JSP sample/async_portlet.jsp

    <%@ taglib prefix="imui" uri="http://www.intra-mart.co.jp/taglib/imui"%>
    
    <imui:head>
    
         // <head>タグ内に記述したいコードを記述します。
    
    </imui:head>
    
    <div id=”imui-container”>
    
       // ここに表示したい内容を記述します。
    
    </div>
  2. ルーティングとリソースの登録を行います。

    方法については「認可仕様書」または「 TERASOLUNA Server Framework for Java (5.x) プログラミングガイド」を参照してください。

  3. アクセス制御の設定を行います。

    方法については「認可仕様書」または「 TERASOLUNA Server Framework for Java (5.x) プログラミングガイド」を参照してください。

9.7. テーマの付与を行わないようにするには

(ex.) URL sample/async_portletに対して、テーマ(ヘッダー、フッター)の付与を行わないようにします。

WEB-INF/conf/theme-head-only-path-config フォルダにユニークな名前のファイルを作成します。(拡張子はxml)

<?xml version="1.0" encoding="UTF-8"?>
<theme-head-only-path-config
 xmlns="http://www.intra-mart.jp/theme/theme-head-only-path-config"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.intra-mart.jp/theme/theme-head-only-path-config theme-head-only-path-config.xsd ">

  <path>/sample/async_portlet</path>

</theme-head-only-path-config>