検索
連載

HTMLやStrutsに必須の“タグ”と“サブミット”の常識Webアプリの常識をJSPとStrutsで身につける(4)(2/3 ページ)

本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です

PC用表示 関連情報
Share
Tweet
LINE
Hatena

Strutsの“5”つのタグライブラリ一覧

 ここからは、Strutsタグの主なタグライブラリを紹介していきます。Strutsには、大きく5つのタグライブラリが用意されています。

表1 Strutsのタグライブラリ
タグライブラリ名 説明
html テキストボックスやボタンなどのHTMLの入力部品を表す
bean リクエストオブジェクトやセッションオブジェクト、サーブレットコンテキストオブジェクトに格納されたJavaBeansに対して操作を行う
logic JSPなどで、判定処理やループ処理の際に使う
tiles 複数のJSPで共通に使用できるテンプレート機能を提供する
nested 格納されたJavaBeansに関連付けられている入れ子状態のJavaBeansに対して操作を行う

 それぞれのタグライブラリには複数のタグが用意されています。それぞれの用途によって使い分けたり、複数のタグを組み合わせることで自分の思いどおりの画面を作成できます。

 それぞれのタグライブラリの一覧は以下になります。htmlタグライブラリの具体的イメージやコード例は後述しますが、下記表2はインデックスになっています。

表2 htmlタグライブラリの主なタグ
タグ 説明
<html:html> 標準HTMLの<html>タグと同様の役割を果たす
<html:text> テキストフィールドを生成
<html:password> パスワードのフィールドを生成
<html:textarea> 複数行のテキストエリアを生成
<html:checkbox> チェックボックスを生成
<html:multibox> 1つで複数のデータを扱うチェックボックスを生成
<html:radio> ラジオボタンを生成
<html:select> ドロップダウンを生成
<html:option> ドロップダウン、リスト形式のメニューを生成
<html:link> ハイパーリンクを生成
<html:img> 画像を表示させるために生成
<html:button> ボタンを表示させるために生成
<html:image> 画像を使ったボタンを生成
<html:submit> サブミットボタンを生成
<html:hidden> Webブラウザ上には表示されないフィールドを生成(主に、値の保持などに使う)

表3 logicタグライブラリの主なタグ
タグ 説明
<logic:iterate> リストから値を1つずつ取り出して、設定する
<logic:equal> 比較を行うタグ(【比較したい値】=【指定した値】で真)
<logic:notEqual> 比較を行うタグ(【比較したい値】!=【指定した値】で真)
<logic:greaterEqual> 比較を行うタグ(【比較したい値】≧【指定した値】で真)
<logic:greaterThan> 比較を行うタグ(【比較したい値】>【指定した値】で真)
<logic:lessEqual> 比較を行うタグ(【比較したい値】≦【指定した値】で真)
<logic:lessThan> 比較を行うタグ(【比較したい値】<【指定した値】で真)
<logic:match> 受け取った値に、指定した値(文字列)が含まれているか判定するタグ(含まれている場合、真)
<logic:notMatch> 受け取った値に、指定した値(文字列)が含まれているか判定するタグ(含まれていない場合、真)
<logic:empty> JavaBeansのプロパティ値が、nullか空文字列かBeansの要素数が0であるかどうか判定するタグ(nullか空文字列か要素数0の場合、真)
<logic:notEmpty> JavaBeansのプロパティ値が、nullか空文字列かBeansの要素数が0であるかどうか判定するタグ(nullか空文字列か要素数0でない場合、真)

表4 beanタグライブラリの主なタグ
タグ 説明
<bean:define> JavaBeansのプロパティを読み取って、新しい変数として定義
<bean:parameter> HTTPリクエストパラメータの値を読み取り、新しい変数を定義
<bean:cookie> Cookieの値を読み取り、新しい変数を定義
<bean:header> HTTPヘッダの値を読み取り、新しい変数を定義
<bean:message> メッセージリソースからメッセージを検索して表示
<bean:write> JavaBeansのプロパティ値などを読み取り、出力を行う
<bean:include> リソースを読み込んでString変数に格納

表5 tilesタグライブラリの主なタグ
タグ 説明
<tiles:insert> 画面部品のJSPを、JSPに取り込む
<tiles:put> テンプレートファイルを読み込んで、テンプレートファイルの各場所に対してはめ込むファイルを指定

表6 nestedタグライブラリの主なタグ
タグ 説明
<nested:root> 共通に使うJavaBeansを指定
<nested:nest> 多階層になっているプロパティの値を簡単に取得

 これらのうち、今回はサンプルプログラムとして、一般的によく利用されるStrutsのhtmlタグを用いて実際に画面を作成します。

実際にStrutsタグを使ってみよう

 では、実際にStrutsタグを使った画面を作成して、Strutsのhtmlタグについて説明していきます。なお、今回のサンプルプログラムは、連載第2回で使用した「PKG」のワークスペースを使います。

今回のサンプルのソースコード

 まず、「PKG\Hello\pages」配下に下記のJSPファイルを作成してください。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 次に、今回追加したStrutstag.jspを参照するために、「PKG\Hello\Web-INF\src\hello\form」のHelloForm.javaを以下のように編集します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 後は、JSPで参照している画像を表示させるため、「C:\PKG\Hello」配下に「image」フォルダを作り、「img1.gef」というファイル名で画像を設置します。これで、準備は完了です。

 次ページでは、作成したサンプルを動かし、それぞれの部品について解説します。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る