目次へ

17. その他の Action クラス

org.apache.struts.actions パッケージ

これまで Action クラスは org.apache.struts.action.Action クラスを継承して実装してきましたが、Struts ではよく使用する機能を備えた Action クラスがあらかじめ org.apache.struts.actions パッケージに用意されています。これらのクラスにはそのまま使えるものもあれば、当該クラスを継承して実装しなければいけないものもあります。この章では Struts が提供するこれらの Action クラスについて説明します。

17.1. org.apache.struts.actions.ForwardAction, org.apache.struts.actions.IncludeAction

Action クラスでビジネスロジックを実行する必要がなく、単に JSP ページに転送するだけの場合や、既存の Servlet をインクルードしたい場合があります。このような場合に便利なのが ForwardAction と IncludeAction です。名前から想像できるかと思いますが、指定されたリソースに転送を行うのが ForwardAction、指定されたりソースをインクルードするのが IncludeAction です。これら 2つの Action クラスを使用するのは簡単で Struts 設定ファイルに設定を行うだけですぐに使用することができます。以下に使用例を示します。

<action path="/index"
        type="org.apache.struts.actions.ForwardAction"
        parameter="/WEB-INF/jsp/index.jsp"/>

転送を行う場合は、type 属性に ForwardAction を完全限定名で指定し、parameter 属性に転送先のリソースを Web アプリケーションからの絶対パスで指定します。インクルードを行う場合も同様で、type 属性に IncludeAction を完全限定名で指定し、parameter 属性にインクルードするリソースを Web アプリケーションからの絶対パスで指定します。

実習課題 1

メッセージリソースを用いて任意の文字列を表示する JSP ページを用意し、以下のことを確かめなさい。

  • URL に直接 JSP ページを指定するとどうなるか。
  • ForwardAction を介して JSP ページを表示するとどうなるか。

確認する際には以下の要件を満たすように行うこと。

  • web.xml で ActionServlet を設定している servlet 要素に load-on-startup 要素を設定している場合はコメントアウトしてから行うこと。
  • Web アプリケーションを再起動し、いろいろな順で表示するようにすること。

解答例はこちら

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp