intra-mart e Builder for Accel Platform アプリケーション開発ガイド 第16版 2023-10-01

利用できる業務スケルトンテンプレート一覧

概要

本項では、各業務スケルトンテンプレートで利用可能な機能について説明します。
本項では業務スケルトン Ver.2.0.1で提供される機能について説明します。
最新のバージョン情報または変更履歴については 業務スケルトン 変更履歴 を参照してください。
また、業務スケルトンのアップデート方法については e Builder のアップデート を参照してください。

スクリプト開発 汎用画面テンプレート

スクリプト開発ベースのシンプルな登録/更新/一覧等の画面を出力します。
DB連携の場合、データベース接続を利用したソースを出力します。
また、スマートフォン画面を出力する設定を行うことで、PC/スマートフォンの双方のソースを一括出力できます(Ver 2.0.1以降)。
Ver 2.0.3以降では、CSRF対策したソースを出力しています。
プログラミング方法の習熟、または新規画面開発の際のソースのひな形等にご利用頂けます。
  • スクリプト開発 汎用画面テンプレートで出力される成果物の概要図。
    マスタメンテナンスの場合、登録・編集・検索一覧および各々の画面遷移をサポートします。
    DB連携のないテンプレートの場合、データベース接続関連の処理は未実装の状態で出力されますので
    目的・用途に応じて追加実装してください。
スクリプト開発 汎用画面テンプレート イメージ

コラム

DB連携テンプレートは単一テーブルのCRUDのみサポートします。
複数テーブルの結合条件が必要な場合や、複雑な業務ロジックを実装する必要がある場合は
DB連携なしのテンプレートを使用することをお勧めします。

注意

スマートフォン画面は、jQuery Mobile 1.3 をベースに作成しています。
jQuery Mobileのバージョンをベースにする場合には、適宜修正をおこなってください。

テンプレート一覧

NO テンプレート名 説明
1 スクリプト開発 汎用画面 登録
登録画面のHTML, サーバサイドJSを出力します。
※一部処理は追加実装する必要があります。
2 スクリプト開発 汎用画面 登録(DB連携) データベースアクセスを伴う登録画面のHTML, サーバサイドJSを出力します。
3 スクリプト開発 汎用画面 編集
編集画面のHTML, サーバサイドJSを出力します。
※一部処理は追加実装する必要があります。
4 スクリプト開発 汎用画面 編集(DB連携) データベースアクセスを伴う編集画面のHTML, サーバサイドJSを出力します。
5 スクリプト開発 汎用画面 参照
参照画面のHTML, サーバサイドJSを出力します。
※一部処理は追加実装する必要があります。
6 スクリプト開発 汎用画面 参照(DB連携) データベースアクセスを伴う参照画面のHTML, サーバサイドJSを出力します。
7 スクリプト開発 汎用画面 一覧
一覧画面のHTML, サーバサイドJSを出力します。
※一部処理は追加実装する必要があります。
8 スクリプト開発 汎用画面 一覧(DB連携) データベースアクセスを伴う一覧画面のHTML, サーバサイドJSを出力します。
9 スクリプト開発 汎用画面 検索一覧
検索一覧画面のHTML, サーバサイドJSを出力します。
※一部処理は追加実装する必要があります。
10 スクリプト開発 汎用画面 検索一覧(DB連携) データベースアクセスを伴うる検索一覧画面のHTML, サーバサイドJSを出力します。
11 スクリプト開発 汎用画面 マスタメンテナンス
登録画面/編集画面/検索一覧画面のHTML, サーバサイドJSを出力します。
※一部処理は追加実装する必要があります。
12 スクリプト開発 汎用画面 マスタメンテナンス(DB連携) データベースアクセスを伴う登録画面/編集画面/検索一覧画面のHTML, サーバサイドJSを出力します。

スクリプト開発 IM-Workflowテンプレート

IM-Workflowのコンテンツ定義に使用できる各種スクリプト開発ベースのソースを出力します。
DB連携の場合、データベース接続を利用したソースを出力します。
また、コンテンツのインポートXMLの出力、項目定義からテーブル定義の生成、スマートフォン画面を出力するなどの機能が利用できます(Ver 2.0.1以降)。
プログラミング方法の習熟、または新規ワークフローのスタートアップ等にご利用頂けます。

注意

スマートフォン画面は、jQuery Mobile 1.3 をベースに作成しています。
jQuery Mobileのバージョンをベースにする場合には、適宜修正をおこなってください。

テンプレート一覧

NO テンプレート名 説明
1 スクリプト開発 IM-Workflow 画面 各種画面/アクション処理出力
各ユーザコンテンツ画面および連携するアクション処理を出力します。
※一部処理は追加実装する必要があります。
2 スクリプト開発 IM-Workflow 画面 各種画面/アクション処理出(DB連携) データベースアクセスを伴う各ユーザコンテンツ画面および連携するアクション処理を出力します。
3 スクリプト開発 IM-Workflow ユーザプログラム 各種ユーザプログラム出力
コンテンツに定義可能な各種ユーザプログラムのテンプレートを出力します。
※一部処理は追加実装する必要があります。
4 スクリプト開発 IM-Workflow ユーザプログラム 各種ユーザプログラム出力
コンテンツに定義可能な各種リスナのテンプレートを出力します。
※一部処理は追加実装する必要があります。

スクリプト開発 ルーティングテーブル

スクリプト開発でルーティングテーブルxmlを出力する機能です。
jsファイルのJsDocにアノテーションを記述することにより、それを解釈してルーティングテーブルxmlを出力します。
詳細については、「スクリプト開発 ルーティングテーブル設定の仕様」を参照してください。
ルーティングについては、「ルーティング」を参照してください。

テンプレート一覧

NO テンプレート名 説明
1 スクリプト開発 ルーティングテーブル スクリプト開発モデルにおいて、ルーティングテーブルxmlを出力します。

Seasar S2JDBCテンプレート

  • エンティティ生成
    S2JDBC-Genを利用し、エンティティクラス等各種S2JDBC関連クラスを生成します(Ver 2.0.1以降)。
    S2JDBC-Genについては下記を参照してください。
  • DtoとService生成
    SQLファイルを元にデータベースに接続しテーブル情報を取得して、DtoとServiceクラスを生成します。
    生成したServiceクラスでは、SQLファイルによってデータベースからレコードを取得します。
    エンティティ生成に対して、このテンプレートはSQLファイルのSQL文を実行するServiceを生成します。
    エンティティ生成では複雑なSQLを実装するのは大変なので、このテンプレートと使い分けてください。
    詳細については、「Seasar S2JDBC DtoとService生成」を参照してください。

テンプレート一覧

NO テンプレート名 説明
1 Seasar S2JDBC エンティティ生成 S2JDBCのエンティティのJAVAファイルを出力します。サービスクラスおよびNameクラス、コンディションクラスも同時出力します(オプション)
2 Seasar S2JDBC DtoとService生成 SQLファイルを元にデータベースに接続しテーブル情報を取得し、DtoとServiceクラスを生成します。 SELECT文のみ対応しています。

Seasar SAStruts 汎用画面テンプレート

SAStrutsベースのシンプルな登録/更新/一覧等の画面を出力します。
S2JDBC連携の場合、サービスクラスを利用したソースを出力します。
また、スマートフォン画面を出力する設定を行うことで、PC/スマートフォンの双方のソースを一括出力できます(Ver 2.0.1以降)。
プログラミング方法の習熟、または新規画面開発の際のソースのひな形等にご利用頂けます。
  • Seasar SAStruts 汎用画面テンプレートで出力される成果物の概要図。
    マスタメンテナンスの場合、登録・編集・検索一覧および各々の画面遷移をサポートします。
    エンティティおよびサービスクラスの生成は別途 Seasar S2JDBCテンプレート でサポートします。
    S2JDBC連携のないテンプレートの場合、ロジッククラスは未実装の状態で出力されますので
    目的・用途に応じて追加実装してください。
Seasar SAStruts 汎用画面テンプレート イメージ

注意

S2JDBC連携で出力されるクラスの処理は、Seasar-S2JDBC-エンティティ生成テンプレートで
出力したサービスクラスを利用することを前提としています。

スマートフォン画面は、jQuery Mobile 1.3 をベースに作成しています。
jQuery Mobileのバージョンをベースにする場合には、適宜修正をおこなってください。

コラム

S2JDBC連携テンプレートは単一エンティティのCRUDのみサポートします。
複数テーブルの結合条件が必要な場合や、複雑な業務ロジックを実装する必要がある場合は
S2JDBC連携なしのテンプレートを使用することをお勧めします。

CSRF対策を有効化させるために(Ver 2.0.2以降)

SAStruts汎用画面テンプレートプラグイン Ver 2.0.2以降では、出力するソースコードにCSRF対策をしています。 CSRF対策を有効化するために、app.diconとcustomizer.diconにインターセプターの設定をする必要があります。 設定内容は以下の通りです。

  • app.dicon
    secureTokenValidationInterceptorコンポーネントを定義します。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
    "https://www.seasar.org/dtd/components24.dtd">
<components>
    <include path="convention.dicon"/>
    <include path="aop.dicon"/>
    <include path="j2ee.dicon"/>
    <!--
    <include path="s2jdbc.dicon"/>
    -->
    <component name="actionMessagesThrowsInterceptor" class="org.seasar.struts.interceptor.ActionMessagesThrowsInterceptor"/>

    <component name="secureTokenValidationInterceptor"
            class="jp.co.intra_mart.framework.extension.seasar.struts.interceptor.SecureTokenValidationInterceptor"
            instance="prototype">
        <aspect pointcut="invoke">
            <component class="org.seasar.framework.aop.interceptors.InterceptorLifecycleAdapter" />
        </aspect>
    </component>

</components>
  • customizer.dicon
    actionCustomizerにsecureTokenValidationInterceptorを追加します。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    <component name="actionCustomizer"
        class="org.seasar.framework.container.customizer.CustomizerChain">
        <initMethod name="addAspectCustomizer">
            <arg>"aop.traceInterceptor"</arg>
        </initMethod>
        <initMethod name="addAspectCustomizer">
            <arg>"actionMessagesThrowsInterceptor"</arg>
        </initMethod>
        <initMethod name="addAspectCustomizer">
            <arg>"secureTokenValidationInterceptor"</arg>
            <arg>"doRegister, doUpdate, doRemove"</arg>
        </initMethod>
        <initMethod name="addCustomizer">
            <arg>
                <component
                    class="org.seasar.framework.container.customizer.TxAttributeCustomizer"/>
            </arg>
        </initMethod>
        <initMethod name="addCustomizer">
            <arg>
                <component
                    class="org.seasar.struts.customizer.ActionCustomizer"/>
            </arg>
        </initMethod>
    </component>

注意

SecureTokenValidationInterceptorはintra-mart Accel Platform 2014 Winter(Iceberg)から追加されたクラスです。
このCSRF対策を有効にするためには、intra-mart Accel Platformのバージョンが2014 Winter(Iceberg)以降である必要があります。

テンプレート一覧

NO テンプレート名 説明
1 Seasar SAStruts 汎用画面 登録
登録画面のJSP, アクションクラス, Logicクラスを出力します。
※一部処理は追加実装する必要があります。
2 Seasar SAStruts 汎用画面 登録(S2JDBC連携) S2JDBCのサービスクラスと連携する登録画面のJSP, アクションクラス, Logicクラスを出力します。
3 Seasar SAStruts 汎用画面 編集
編集画面のJSP, アクションクラス, Logicクラスを出力します。
※一部処理は追加実装する必要があります。
4 Seasar SAStruts 汎用画面 編集(S2JDBC連携) S2JDBCのサービスクラスと連携する編集画面のJSP, アクションクラス, Logicクラスを出力します。
5 Seasar SAStruts 汎用画面 参照
参照画面のJSP, アクションクラス, Logicクラスを出力します。
※一部処理は追加実装する必要があります。
6 Seasar SAStruts 汎用画面 参照(S2JDBC連携) S2JDBCのサービスクラスと連携する参照画面のJSP, アクションクラス, Logicクラスを出力します。
7 Seasar SAStruts 汎用画面 一覧
一覧画面のJSP, アクションクラス, Logicクラスを出力します。
※一部処理は追加実装する必要があります。
8 Seasar SAStruts 汎用画面 一覧(S2JDBC連携) S2JDBCのサービスクラスと連携する一覧画面のJSP, アクションクラス, Logicクラスを出力します。
9 Seasar SAStruts 汎用画面 検索一覧
検索一覧画面のJSP, アクションクラス, Logicクラスを出力します。
※一部処理は追加実装する必要があります。
10 Seasar SAStruts 汎用画面 検索一覧(S2JDBC連携) S2JDBCのサービスクラスと連携する検索一覧画面のJSP, アクションクラス, Logicクラスを出力します。
11 Seasar SAStruts 汎用画面 マスタメンテナンス
登録画面/編集画面/検索一覧画面のJSP, アクションクラス, Logicクラスを出力します。
※一部処理は追加実装する必要があります。
12 Seasar SAStruts 汎用画面 マスタメンテナンス(S2JDBC連携) S2JDBCのサービスクラスと連携する登録画面/編集画面/検索一覧画面のJSP, アクションクラス, Logicクラスを出力します。

Seasar SAStruts IM-Workflowテンプレート

IM-Workflowのコンテンツ定義に使用できる各種SAStrutsベースのソースを出力します。
S2JDBC連携の場合、サービスクラスを利用したソースを出力します。
また、コンテンツのインポートXMLの出力、項目定義からテーブル定義の生成、スマートフォン画面を出力するなどの機能が利用できます(Ver 2.0.1以降)。
プログラミング方法の習熟、または新規ワークフローのスタートアップ等にご利用頂けます。

注意

スマートフォン画面は、jQuery Mobile 1.3 をベースに作成しています。
jQuery Mobileのバージョンをベースにする場合には、適宜修正をおこなってください。

テンプレート一覧

NO テンプレート名 説明
1 Seasar SAStruts IM-Workflow 画面 各種画面/アクション処理出力 各ユーザコンテンツ画面および連携するアクション処理を出力します。
2 Seasar SAStruts IM-Workflow 画面 各種画面/アクション処理出(DB連携) データベースアクセスを伴う各ユーザコンテンツ画面および連携するアクション処理を出力します。
3 Seasar SAStruts IM-Workflow ユーザプログラム 各種ユーザプログラム出力 コンテンツに定義可能な各種ユーザプログラムのテンプレートを出力します。
4 Seasar SAStruts IM-Workflow ユーザプログラム 各種ユーザプログラム出力 コンテンツに定義可能な各種リスナのテンプレートを出力します。

TERASOLUNA Server Framework for Java (5.x) 汎用画面テンプレート

TERASOLUNA Server Framework for Java (5.x)ベースのシンプルな登録/更新/一覧等の画面を出力します。
また、スマートフォン画面を出力する設定を行うことで、PC/スマートフォンの双方のソースを一括出力できます。
プログラミング方法の習熟、または新規画面開発の際のソースのひな形等にご利用頂けます。
  • TERASOLUNA Server Framework for Java (5.x) 汎用画面テンプレートの概要図。
    TERASOLUNA Server Framework for Java (5.x)のガイドラインに従い登録・編集・検索一覧および各々の画面遷移をサポートします。
    サービスクラスは未実装の状態で出力されますので、目的・用途に応じて追加実装してください。
|common_terasoluna| 汎用画面テンプレート イメージ

注意

スマートフォン画面は、jQuery Mobile 1.3 をベースに作成しています。
jQuery Mobileのバージョンをベースにする場合には、適宜修正をおこなってください。

CSRF対策を有効化させるために(Ver 1.0.2以降)

TERASOLUNA Server Framework for Java (5.x) 汎用画面テンプレートプラグイン Ver 1.0.2以降では、出力するソースコードにCSRF対策をしています。 CSRF対策を有効化するためには、intra-mart Accel Platform 2014 Winter(Iceberg)で変更された applicationContext-im_tgfw_common.xmlとapplicationContext-im_tgfw_web.xmlの設定内容が反映されている必要があります。 以下の設定が無い場合は追記、変更してください。

  • applicationContext-im_tgfw_common.xml
    InvalidSecureTokenExceptionの設定があることを確認してください。設定が無い場合は追記してください。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
    <!-- Exception Code Resolver. -->
    <bean id="exceptionCodeResolver"
        class="org.terasoluna.gfw.common.exception.SimpleMappingExceptionCodeResolver">
        <!-- Setting and Customization by project. -->
        <property name="exceptionMappings">
            <map>
                <entry key="ResourceNotFoundException" value="w.im.fw.0001" />
                <entry key="InvalidTransactionTokenException" value="w.im.fw.0004" />
                <entry key="InvalidSecureTokenException" value="w.im.fw.0005" />
                <entry key="BusinessException" value="w.im.fw.0002" />
            </map>
        </property>
        <property name="defaultExceptionCode" value="e.im.fw.0001" />
    </bean>
  • applicationContext-im_tgfw_web.xml - secureTokenValidatorのbean定義
    secureTokenValidatorのbean定義を確認します。設定が無い場合は追記してください。
1
2
    <!-- secure token validator -->
    <bean id="secureTokenValidator" class="jp.co.intra_mart.framework.extension.spring.web.csrf.SecureTokenValidator" />
  • applicationContext-im_tgfw_web.xml - SystemExceptionResolverのbean定義
    SystemExceptionResolverのbean定義を確認します。設定が無い場合は追記してください。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    <!-- Setting Exception Handling. -->
    <!-- Exception Resolver. -->
    <bean class="org.terasoluna.gfw.web.exception.SystemExceptionResolver">
        <property name="exceptionCodeResolver" ref="exceptionCodeResolver" />
        <!-- Setting and Customization by project. -->
        <property name="order" value="3" />
        <property name="exceptionMappings">
            <map>
                <entry key="ResourceNotFoundException" value="im_tgfw/common/error/resourceNotFoundError.jsp" />
                <entry key="BusinessException" value="im_tgfw/common/error/businessError.jsp" />
                <entry key="InvalidTransactionTokenException" value="im_tgfw/common/error/transactionTokenError.jsp" />
                <entry key="InvalidSecureTokenException" value="im_tgfw/common/error/secureTokenError.jsp" />
            </map>
        </property>
        <property name="statusCodes">
            <map>
                <entry key="im_tgfw/common/error/resourceNotFoundError" value="404" />
                <entry key="im_tgfw/common/error/businessError" value="200" />
                <entry key="im_tgfw/common/error/transactionTokenError" value="409" />
                <entry key="im_tgfw/common/error/secureTokenError" value="403" />
            </map>
        </property>
        <property name="defaultErrorView" value="im_tgfw/common/error/systemError.jsp" />
        <property name="defaultStatusCode" value="500" />
    </bean>

注意

SecureTokenValidatorとInvalidSecureTokenExceptionはintra-mart Accel Platform 2014 Winter(Iceberg)から追加されたクラスです。
このCSRF対策を有効にするためには、intra-mart Accel Platformのバージョンが2014 Winter(Iceberg)以降である必要があります。

テンプレート一覧

NO テンプレート名 説明
1 TERASOLUNA Server Framework for Java (5.x) 汎用画面 マスタメンテナンス 登録画面/編集画面/検索一覧画面のJSP, Controllerクラス, Serviceクラスを出力します。

TERASOLUNA Global Framework リポジトリテンプレート (iAP 2014 Winter(Iceberg) まで)

JPA, MyBatis2用のリポジトリクラスとそのテストクラスを出力します。
プログラミング方法の習熟、または新規開発の際のソースのひな形等にご利用頂けます。
  • TERASOLUNA Global Framework リポジトリテンプレートの概要図。
    TERASOLUNA Global Frameworkのガイドラインに従いデータベースへのアクセスをサポートします。
    目的・用途に応じて追加実装してください。
|common_terasoluna_gfw| リポジトリテンプレート イメージ

注意

TERASOLUNA Global Framework は、intra-mart Accel Platform 2014 Winter(Iceberg)までご利用頂けます。
intra-mart Accel Platform 2015 Spring(Juno)以降では、ご利用頂けません。

テンプレート一覧

NO テンプレート名 説明
1 TERASOLUNA Global Framework JPAリポジトリ
Spring Data JPAのJPA Repositoryインタフェースを出力します。
テストクラスは目的・用途に応じて追加実装してください。
2 TERASOLUNA Global Framework MyBatis2リポジトリ
MyBatis2を利用したRepositoryインタフェース, RepositoryImplクラス, *-sqlmap.xmlを出力します。 *-sqlmap.xmlのresultMap, insert, updateは追加実装する必要がある場合があります。
テストクラスは目的・用途に応じて追加実装してください。

TERASOLUNA Server Framework for Java (5.x) リポジトリテンプレート (iAP 2015 Spring(Juno) から)

MyBatis3用のリポジトリクラスとそのテストクラスを出力します。
プログラミング方法の習熟、または新規開発の際のソースのひな形等にご利用頂けます。
  • TERASOLUNA Server Framework for Java (5.x) リポジトリテンプレートの概要図。
    TERASOLUNA Server Framework for Java (5.x)のガイドラインに従いデータベースへのアクセスをサポートします。
    目的・用途に応じて追加実装してください。
|common_terasoluna| リポジトリテンプレート イメージ

注意

intra-mart Accel Platform TERASOLUNA Server Framework for Java (5.x) は、intra-mart Accel Platform 2015 Spring(Juno)からご利用頂けます。
intra-mart Accel Platform 2014 Winter(Iceberg)以前では、ご利用頂けません。

テンプレート一覧

NO テンプレート名 説明
1 TERASOLUNA Server Framework for Java (5.x) MyBatis3リポジトリ
MyBatis3を利用した Repositoryインタフェース, Repository.xml,

applicationContext-{プロジェクト}_mybatis.xml を出力します。 META-INF/mybatis/mybatis-config.xml の type alias に使用する entity クラスを設定する必要があります。

テストクラスは目的・用途に応じて追加実装してください。

TERASOLUNA Server Framework for Java (5.x) ポートレットテンプレート

TERASOLUNA Server Framework for Java (5.x)ベースのシンプルなポートレット用の一覧画面などを出力します。
プログラミング方法の習熟、または新規画面開発の際のソースのひな形等にご利用頂けます。
  • TERASOLUNA Server Framework for Java (5.x) ポートレットテンプレートの概要図
    ポートレット上の一覧表示、一覧のデータ取得(検索)、詳細ダイアログ表示の機能をサポートします。
    サービスクラスは未実装の状態で出力されますので、目的・用途に応じて追加実装してください。
|common_terasoluna| ポートレットテンプレート イメージ

テンプレート一覧

NO テンプレート名 説明
1 TERASOLUNA Server Framework for Java (5.x) ポートレット 一覧画面 ポートレット用の一覧画面のJSP, Controllerクラス, Serviceクラスを出力します。