Apache Struts – 画面遷移の定義

1月 1, 2003 · Posted in Apache Struts · Comment 

画面遷移の基本

Strutsでの基本的な画面遷移を行います。
例として、before.jspからafter.jspに移動します。

before.jsp

<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head>
<title>移動前</title>
</head>
<body>

<form>
  <input type="submit" value="移動" />
</form>

</body>
</html>

after.jsp

<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head>
<title>移動先</title>
</head>
<body>
移動先
</body>
</html>

上記二つのファイルを使用して、画面遷移を行います。ファイルをStrutsプロジェクトの任意の位置に保存します。(pagesディレクトリがビュー保存用に用意されています。)
これから、before.jspのボタンをクリックすることでafter.jspに移動させるように修正します。

カスタムタグライブラリ

J2EEでは、画面出力用にJSP(634-JSP)が用意されています。JSPにはHTML以外に、ロジック(プログラム)を記述することができますが、デザインとロジックがひとつのファイルに集中することになるため、望ましくありません。この問題の解決法のひとつとして、カスタムタグライブラリという仕組みが用意されています。
※カスタムタグライブラリについては、JSP(634-JSP)のtaglibを参照してください。

Strutsには、5つのカスタムタグライブラリ(HTML, Logic, Beans, Nested, Tiles)が用意されています。Strutsでは、htmlの記述にもカスタムタグライブラリを使用するので、現在のhtmlタグをStrutsのHTMLカスタムタグに書き直します。
※各タグライブラリについては、別途解説します。

before.jsp

<%@ page contentType="text/html;charset=Shift_JIS" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<html:html>
<head>
<title>移動前>/title>
</head>
<body>

<html:form action="/Move">
  <html:submit property="submit" value="移動" />
</html:form>

</body>
</html:html>

after.jsp

<%@ page contentType="text/html;charset=Shift_JIS" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<html:html>
<head>
<title>移動先</title>
</head>
<body>
移動先
</body>
</html:html>

HTMLタグライブラリを使用するために、<%@ taglib uri="/tags/struts-html" prefix="html" %>という宣言を追加して、<html>→<html:html>、<form>→<html:form>のような変更を加えました。

アクションの定義

前述の例で、<html:form action="/Move">という記述がありました。これは、before.jspからafter.jspへの遷移を行う際に、/Moveというアクションを実行するという意味の記述です。
/Moveというアクションはまだ定義していないので、これを定義してみましょう。
アクションの定義には、クラスの作成と定義ファイルの編集を行います。

アクションクラス(Move.java)


Apache Struts – 他ページの読み込み(bean:include)

1月 1, 2003 · Posted in Apache Struts · Comment 

他ページの読み込み

Strutsカスタムタグのbean:includeを利用すると、リソースファイルやURIを元に対象のファイル内容を変数に設定することができます。

jsp:includeなどのインクルードタグが、指定場所にファイル内容を展開するのに対し、bean:includeは指定した変数に対象ファイルの内容を設定します。

サンプルコード

JSP

<bean:include id="inc" page="/include.jsp" />

上記のコードによりincという名称の変数が暗黙的に定義・生成され、page属性で指定したファイルの内容が設定されます。page属性の値はアプリケーションのルートからの相対パスを/(スラッシュ)から始まる内容で指定します。

JSP

<bean:include id="inc" href="http://634.ayumu-baby.com/" />

このコードでは、href属性に指定したURIの内容を変数incに設定します。hrefはhttp://から始まらなければいけません。

Apache Struts

1月 1, 2003 · Posted in Apache Struts · Comment 

Strutsとは何か

Apache StrutsはMVCに基づくフレームワークです。
※参考:MVCパターン(634-デザインパターン)

StrutsはJ2EEの仕組みを利用して動作します。MVCを実現するために提供されているServletやBeansに加えて、カスタムタグ、Validatorなどのユーティリティーを利用することができます。

« 前ページへ次ページへ »