Apache Strutsとは、Java用のWebアプリケーションフレームワークです。この記事では、Strutsの使い方をサンプルを交えてご紹介します。
Strutsは、以下のタグライブラリが含まれる。
タグライブラリ | 説明 |
---|---|
Bean | JavaBeanへのアクセス手段や新たなBean定義の手段を提供する。 |
HTML | 主にHTMLフォームをStrutsのフォームと結びつけるための手段を提供する。 |
Logic | 主に条件分岐や繰り返しなどの制御構造を作成するために使用される。 |
Nested | 階層かられたプロパティに効率的にアクセスするための機能を提供する。 |
Tiles | Webページを複数の表示領域に分けて、レイアウトやタイルそのものを共有することで、生産性、保守性を向上させる仕組みを提供する。 |
多くのStrutsのタグはproperty属性を持っており、これによりBeanのプロパティにアクセスすることができる。
property="value"
と指定すると、getValue()メソッドが呼び出される。
プロパティが格納先として使用される場合、setValue()メソッドが呼び出される。
property="foo.bar.baz"
と指定すると、getFoo().getBar().getBaz()
が呼び出される。
クッキーを取得する。
Beanプロパティを取得する。
HTTPヘッダを取得する。
JSPページの出力を取得する。
<bean:message>とは、MessageResourcesからメッセージを取得して表示するApache Strutsタグである。
<bean:message attribute="value" ... />
attributeには、次に示す属性を指定できる。
{}
に代入する文字列<bean:message key="${msgKey}" />
pageContextから暗黙オブジェクトを取得する。
リクエストパラメータを取得する。
Webアプリケーションのリソースを取得する。
配列やコレクションの要素数を取得する。
Apache Strutsの設定ファイル struts-config.xml を取得する。
Beanのプロパティを表示する。
<base>タグを出力する。
<input type="button">タグを出力する。
<input type="submit">タグを出力する。validate回避用。
<input type="checkbox">タグを出力する。
requestスコープに格納されているActionErrorsオブジェクトの内容を出力する。
<html:erros [attribute=value ...] />
<html:errors />
<input type="file">タグを出力する。
<form>タグを出力する。
<frame> タグを出力する。
<input type="hidden">
タグを出力する。
<html:hidden attribute=value ... />
<html:hidden property="salary" styleId="salary" value="${salary}" />
<html>タグを出力する。
<input type="image">タグを出力する。
<img>タグを出力する。
validate用JavaScriptを出力する。
<a>タグを出力する。
requestスコープに格納されているActionMessageオブジェクトの内容を出力する。
<input type="checkbox">タグを出力する(配列型)。
<option>タグを出力する。
Collection型(配列)を利用し<option>タグを出力する。
Collection型(配列)を利用し<option>タグを出力する。
<input type="password">タグを出力する。
<input type="radio">タグを出力する。
<input type="reset">タグを出力する。
リンク先URL文字列を出力する。JavaScript用。
<select>タグを出力する。
<input type="submit">タグを出力する。
<input type="text">タグを生成する。
属性 | 説明 |
---|---|
property | Beanのプロパティ名(input要素のname属性) |
maxlength | 入力できる最大文字数 |
style | スタイルシート |
styleClass | スタイルシートのクラス(input要素のclass属性) |
styleId | 識別子(input要素のid属性) |
<textarea> タグを生成する。
属性 | 説明 |
---|---|
property | Beanのプロパティ名(textarea要素のname属性) |
cols | テキストエリアの桁数 |
rows | テキストエリアの行数 |
style | スタイルシート |
styleClass | スタイルシートのクラス(textarea要素のclass属性) |
styleId | 識別子(textarea要素のid属性) |
属性が空の場合、処理を実行する。
属性が指定した値と等しい場合、処理を実行する。
リクエストを指定したパスへ転送する。
属性が指定した値以上の場合、処理を実行する。
属性が指定した値より大きい場合、処理を実行する。
指定したコレクションで処理を実行する。
属性が指定した値以下の場合、処理を実行する。
属性が指定した値より小さい場合、処理を実行する。
属性が指定した文字列を含む場合、処理を実行する。
属性が空でない場合、処理を実行する。
属性が指定した値と等しくない場合、処理を実行する。
属性が指定した文字列を含まない場合、処理を実行する。
属性が存在しない場合、処理を実行する。
属性が存在する場合、処理を実行する。
指定したパスへリダイレクトする。
requestスコープに格納されているActionErrosオブジェクトが存在する場合、処理を実行する。
requestスコープに格納されているActionErrorsオブジェクトが存在しない場合、処理を実行する。
Struts 2タグライブラリでは、JSPタグに加えて次のタグを使用できる。
タグ | 説明 |
---|---|
<s:if> | 条件が真の場合、処理を実行する。 |
<s:a> | HTMLの<a>タグを生成する。 |
<s:checkbox> | HTMLの<input type="checkbox">タグを生成する。 |