利用できる業務スケルトンテンプレート一覧¶
項目
- 概要
- スクリプト開発 汎用画面テンプレート
- スクリプト開発 IM-Workflowテンプレート
- スクリプト開発 ルーティングテーブル
- Seasar S2JDBCテンプレート
- Seasar SAStruts 汎用画面テンプレート
- Seasar SAStruts IM-Workflowテンプレート
- TERASOLUNA Server Framework for Java (5.x) 汎用画面テンプレート
- TERASOLUNA Global Framework リポジトリテンプレート (iAP 2014 Winter(Iceberg) まで)
- TERASOLUNA Server Framework for Java (5.x) リポジトリテンプレート (iAP 2015 Spring(Juno) から)
- TERASOLUNA Server Framework for Java (5.x) ポートレットテンプレート
概要¶
本項では、各業務スケルトンテンプレートで利用可能な機能について説明します。本項では業務スケルトン 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を出力します。詳細については、「スクリプト開発 ルーティングテーブル設定の仕様」を参照してください。ルーティングについては、「ルーティング」を参照してください。
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生成」を参照してください。
Seasar SAStruts 汎用画面テンプレート¶
SAStrutsベースのシンプルな登録/更新/一覧等の画面を出力します。S2JDBC連携の場合、サービスクラスを利用したソースを出力します。また、スマートフォン画面を出力する設定を行うことで、PC/スマートフォンの双方のソースを一括出力できます(Ver 2.0.1以降)。プログラミング方法の習熟、または新規画面開発の際のソースのひな形等にご利用頂けます。
Seasar SAStruts 汎用画面テンプレートで出力される成果物の概要図。マスタメンテナンスの場合、登録・編集・検索一覧および各々の画面遷移をサポートします。エンティティおよびサービスクラスの生成は別途 Seasar S2JDBCテンプレート でサポートします。S2JDBC連携のないテンプレートの場合、ロジッククラスは未実装の状態で出力されますので目的・用途に応じて追加実装してください。
CSRF対策を有効化させるために(Ver 2.0.2以降)¶
SAStruts汎用画面テンプレートプラグイン Ver 2.0.2以降では、出力するソースコードにCSRF対策をしています。 CSRF対策を有効化するために、app.diconとcustomizer.diconにインターセプターの設定をする必要があります。 設定内容は以下の通りです。
app.diconsecureTokenValidationInterceptorコンポーネントを定義します。
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.diconactionCustomizerに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)のガイドラインに従い登録・編集・検索一覧および各々の画面遷移をサポートします。サービスクラスは未実装の状態で出力されますので、目的・用途に応じて追加実装してください。注意
スマートフォン画面は、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.xmlInvalidSecureTokenExceptionの設定があることを確認してください。設定が無い場合は追記してください。
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)以降である必要があります。
TERASOLUNA Global Framework リポジトリテンプレート (iAP 2014 Winter(Iceberg) まで)¶
JPA, MyBatis2用のリポジトリクラスとそのテストクラスを出力します。プログラミング方法の習熟、または新規開発の際のソースのひな形等にご利用頂けます。
TERASOLUNA Global Framework リポジトリテンプレートの概要図。TERASOLUNA Global Frameworkのガイドラインに従いデータベースへのアクセスをサポートします。目的・用途に応じて追加実装してください。
テンプレート一覧¶
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)のガイドラインに従いデータベースへのアクセスをサポートします。目的・用途に応じて追加実装してください。