LoginSignup
1
2

More than 5 years have passed since last update.

TERASOLUNA5.xのブランクプロジェクトからTilesを削除する方法

Posted at

1. はじめに

Spring MVCのアプリケーションを作成する場合、TERASOLUNA Server Framework for Java (5.x) を利用することがあります。
しかし、デフォルトではテンプレートエンジンのTiles が有効になっています。Tilesを使うことがほとんどないため、毎回Tilesに関する設定、ファイルを削除していました。
今回はTERASOLUNA5.xのブランクプロジェクトからTilesを削除する方法について、個人的な備忘録として残したいと思います。

2. 修正内容

2.1 Webプロジェクトのpom.xmlからTilesの依存関係を削除

terasoluna-gfw-recommended-web-dependenciesを依存関係から削除(コメントアウト)します。

<!-- 
<dependency>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-recommended-web-dependencies</artifactId>
    <type>pom</type>
</dependency>
-->

以下を見れば分かるかと思いますが、Tiles関連のライブラリしか定義されていません。
https://github.com/terasolunaorg/terasoluna-gfw/blob/master/terasoluna-gfw-dependencies/terasoluna-gfw-recommended-web-dependencies/pom.xml

2.2 Tilesのテンプレートファイル削除

/webプロジェクト/src/main/webapp/WEB-INF/views/layoutに格納されているファイルがTiles関連のファイルです。
Tilesを利用しない場合は不要となるので、layoutディレクトリ自体削除してしまいます。

2.3 不要となるViewResolverの削除

/webプロジェクト/src/main/resources/META-INF/spring/spring-mvc.xmlにViewResolverの定義があります。
ここからTilesのView関連を削除します。
不要となるのは<mvc:tiles /><mvc:tiles-configurer>の定義です。

<!-- Settings View Resolver. -->
<mvc:view-resolvers>
    <mvc:bean-name />
    <!--
    <mvc:tiles />
    -->
    <mvc:jsp prefix="/WEB-INF/views/" />
</mvc:view-resolvers>

<!--
<mvc:tiles-configurer>
    <mvc:definitions location="/WEB-INF/tiles/tiles-definitions.xml" />
</mvc:tiles-configurer>
-->

これで/WEB-INF/tiles/tiles-definitions.xmlも不要になるので、Tilesディレクトリ自体も削除してしまいましょう。

2.4 (おまけ)web.xmlの機能でヘッダ、フッターを自動で付与

/webプロジェクト/src/main/webapp/WEB-INF/web.xmlの修正することでヘッダ、フッターを自動で追加することが可能です。
<include-prelude><include-coda> でJSPの開始と終了に別のJSPをインクルードさせます。

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <el-ignored>false</el-ignored>
        <page-encoding>UTF-8</page-encoding>
        <scripting-invalid>false</scripting-invalid>
        <include-prelude>/WEB-INF/views/common/include.jsp</include-prelude>
        <include-prelude>/WEB-INF/views/common/header.jsp</include-prelude>
        <include-coda>/WEB-INF/views/common/footer.jsp</include-coda>
    </jsp-property-group>
</jsp-config>

<jsp-property-group>自体を複数定義することができます。
ですので、特定の画面グループにはヘッダ、フッター、メニューを表示するが、特定の画面グループにはこれらを表示しない、といった設定も可能です。
これらの内容はJSP単体でもTilesでもできますので、重要なのは設計方針だといえるでしょう。

3. さいごに

今回はTERASOLUNA5.xのブランクプロジェクトからTilesを削除する方法について説明しました。
MVCアプリケーションにとってViewの実装技術は重要かと思います。
さまざまな技術(ライブラリ)がたくさん出てきているので、Viewを手軽に実装できるものをプロジェクト特性に応じて、適切に選択できるようにしていきたいなと思いました。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2