旧バージョンで作成したプログラムの実行¶
version 7.2 で動作していたプログラムをintra-mart Accel Platform上で動作するための方法を説明します。
この章では、最低限必要な対応について説明します。
コラム
詳細は、移行ガイドを参照してください。
項目
前提¶
注意
前提として、以下の注意点、変更点がありますので、注意してください。
- v7.2でのAPIを利用する場合は、IM-Jugllingで互換機能モジュールを選択してください。
- 互換機能モジュールの動作の前提として、v7.2からの移行が必要です。
- サポートするファイルのエンコードは、UTF-8 のみです。移行前に既存のファイルエンコードを変更してください。
- ファイルの格納先は、pages/ から WEB-INF/jssp に変更になりました。
- これまでのとおり、WEB-INF/jssp/src等に直接ファイルを配置すること(source-config.xmlの設定により変わる)で、サーバ再起動なしで、ソースの追加や変更して動作しますが、WARファイルに格納されていないファイルは、アンデプロイ時に削除されますので、 intra-mart e Builder for Accel Platform でのモジュールプロジェクトで運用を強く推奨致します。
移行手順¶
旧バージョンで動作していたプログラムをintra-mart Accel Platform上で動作させる方法としては、 以下の2つの方法があります。
- intra-mart Accel Platformの画面仕様に合わせる
- iframe内で表示する
動作させたいアプリケーションにより以下の対応方法を参照の上、対応してください。
intra-mart Accel Platformの画面仕様に合わせる¶
画面(HTMLファイル)の対応¶
- frameset, frameタグを削除
frame間でデータのやりとりを行っている場合、Ajaxを使った実装に置き換えることをお勧めします。
- html, bodyタグを削除
bodyタグのonload属性にJavaScriptを記述していた場合、jQueryの機能を利用して実行するようにしてください。jQuery(document).ready(function() { doSomething(); });
- <imart type=”imDesignCss”/>を削除
- headタグを置き換える
<head>タグを<imart type=”head”>タグに置き換えます。
- タイトルバータグを置き換える
imTitleBarをheaderタグに置き換えます。
- form の target を変更
target=”IM_MAIN” を target=”_top” に変更します。
ロジック(JSファイル)の対応¶
API対応を 互換対応表 を参照の上、対応してください。intra-mart Accel Platformからファンクションコンテナ(JSファイル)上で実行するJavaのAPIについては、実行結果が以下の場合は、JavaScriptのオブジェクトに変換されるようになるため修正が必要です。
- java.lang.Boolean は Boolean オブジェクトに変換されます。
- java.lang.String は String オブジェクトに変換されます。
- java.lang.Number のサブクラスは Number オブジェクトに変換されます。
iframe内で表示する¶
iframe設定¶
注意
iframe利用時は以下の制限事項がありますので、注意してください。
- IFRAMEを使用したページをマイメニューに登録して開くとページを表示できない場合があります。
- エラーページをカスタマイズするとIFrameリダイレクタのiframe内にエラーページが表示されます
- 認証確認対象の画面には、iframe 内に表示する前提の画面のURLは設定できません。
no-theme設定¶
iframeを使うと、テーマが2重に表示されることがあるため、<im_path>/WEB-INF/conf/theme-no-theme-path-config/に以下のようなxmlファイルにて、no-theme設定を行う必要があります。<?xml version="1.0" encoding="UTF-8"?> <theme-no-theme-path-config xmlns="http://www.intra-mart.jp/theme/theme-no-theme-path-config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.intra-mart.jp/theme/theme-no-theme-path-config theme-no-theme-path-config.xsd "> <path>/bpw\-.+\.service.*</path> <path>bpw/.*</path><path>タグ内に、テーマを表示したくないファイルパスを記述してください。フルパスでも、上記のように正規表現でも記載できます。
baseタグ設定¶
URLの階層化により、これまでのような相対パスでは画像やCSS, CSJSが指定できません。しかし、baseタグを設定すれば、既存の配置のままでパスの問題を解消できます。テーマを適用している場合は、テーマ側で出力されますが、上記のno-themeの設定を行う場合は、個別に対応が必要です。
対応例
- jsファイル
var base = ""; function init(request) { base = "<base href=\"" + Web.base() + "/\" target=\"_self\">"; }
- htmlファイル
<imart type="string" value=base />
ロジック(JSファイル)の対応¶
API対応を 互換対応表 を参照の上、対応してください。intra-mart Accel Platformからファンクションコンテナ(JSファイル)上で実行するJavaのAPIについては、実行結果が以下の場合は、JavaScriptのオブジェクトに変換されるようになるため修正が必要です。
- java.lang.Boolean は Boolean オブジェクトに変換されます。
- java.lang.String は String オブジェクトに変換されます。
- java.lang.Number のサブクラスは Number オブジェクトに変換されます。
コラム
詳細は、移行ガイドを参照してください。