【Java】JSPでタグライブラリを使う(JSTL)
こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
こんにちは。エンジニアの新田です!
ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。
今回は、JSPのアクションタグについて紹介します。
Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!
関連記事:【Java】JSPの基本的な構文
アクションタグは、Javaの処理をタグ形式で記述できるようにしたものです。(タグを解釈する裏側では、Javaのコードが実行されているという事になります。)
JSPページの中に直接Javaのコードを記述するとJSPページの可読性が悪くなる場合があります。そこで外部のJavaコードを呼び出すためのタグを設定しておき、JSPページ内ではタグを記述するだけで利用できるようになっています。
このタグを使うことによってJavaの知識がないWEBデザイナーでも、JSPページ内にタグを記述するだけでJavaの処理を埋め込むことができるようになります。
アクションタグには標準で用意されている標準アクションと、自分で定義できるカスタムタグがあります。
今回は標準アクションについて紹介します。
JavaBeansのインスタンス化とスコープへの登録を行い、JSPページから使用可能にします。
(JavaBeansについてはこちらの記事を参照)
同一スコープに同一のJavaBeansが既に登録されている場合は、インスタンスを生成せずに再利用します。(同じJavaBeansでも scopeが違う場合は、別なオブジェクトとして新たに生成される)
<<属性値>>
※「beanName」、「class」 のいずれかを必ず指定する必要がある。
【使用例】
<jsp:useBean id="expertSe" class="jp.co.forwardsoft.bean.engineer" scope="session" />
<%=
expertSe.getName() %>
<jsp:useBean>で生成したJavaBeansインスタンスのプロパティに値を設定します。
プロパティに値を設定するためには、該当JavaBeansインスタンスに対象プロパティの「setter」メソッドが用意されている必要があります。
<<属性値>>
※「property」が「*」でない場合は、「param」か「value」のいずれかを設定する必要がある。
【使用例】
<jsp:setProperty name="expertSe" property="name" value="佐藤" />
<jsp:setProperty name="expertSe" property="gender" value="<%= gender %>" />
<jsp:setProperty name="expertSe" property="age" param="age" />
<jsp:useBean>で生成したJavaBeansのプロパティ値を取得します。
プロパティ値を取得するためには、該当JavaBeansインスタンスに対象プロパティの「getter」メソッドが用意されている必要があります。
<<属性値>>
【使用例】
<jsp:getProperty name="expertSe" property="name" />
<%=
expertSe.getName() %>
指定されたURLに動的にリクエストを転送し、出力結果をJSPページに取り込みます。
<<属性値>>
【使用例】
<jsp:include page="includePage.jsp" />
includeアクションは、includeディレクティブとほぼ同じ機能を持っています。
ただし、includeディレクティブはインクルードファイルの変更は認識されないが、includeアクションはページ表示時に常にインクルードファイルが実行されるため、その都度変更が反映されます。
【includeアクション】
【includeディレクティブ】
現在のリクエストを他のページに転送します。リクエストおよびレスポンスの情報を転送し、出力は転送先で行われます。
includeの場合は、元のJSPに結果が差し込まれますが、forwardは転送先の出力結果のみが表示されます。(元のJSPの出力結果は無視される)
<<属性値>>
【使用例】
<jsp:forward page="forwardPage.jsp" />
include、forwardアクションと組み合わせて(子要素として)使用することで、リクエストパラメータを設定することができます。
設定されたパラメータは、リクエストオブジェクトに格納されて送信されます。(request.getParameter で取得可能)
※クエリ情報と同名のパラメータを渡した場合はparam アクションタグの値が優先されます。
<<属性値>>
【使用例】
<jsp:includ page="includePage.jsp">
<jsp:param name="name" value="インクルード" />
</jsp:include>
<jsp:forward page="forwardPage.jsp">
<jsp:param name="name" value="フォワード" />
</jsp:forward>
Javaプラグインを埋め込むためのタグを出力します。(Javaプラグインを実行するHTMLを生成します)
クライアント環境(ブラウザ)によりJavaプラグインを埋め込むためのタグが異なる場合があるため、自動的にクライアント環境を判別し、その環境に適したタグを出力します。
<<属性値>>
【使用例】
<jsp:plugin type="applet" code="jp.co.forwardsoft.plugin.TestApplet">
<jsp:params>
<jsp:param name="type" value="test"/>
</jsp:params>
<jsp:fallback>プラグインの起動に失敗しました。</jsp:fallback>
</jsp:plugin>
<jsp:plugin>タグで、プラグインにプラグインにパラメータを引き渡すために使用する。
使用例は、<jsp:plugin>を参照してください。
<jsp:plugin>タグで、プラグインが起動できなかった場合に表示するコンテンツを指定します。
使用例は、<jsp:plugin>を参照してください。
関連記事:【Java】JSPの基本的な構文
【著者】
JavaメインのWebアプリケーション開発に多く携わっています。
Javaの基本的な部分の紹介や、これまで経験したシステム開発手法、新しい技術についても紹介していこうと思います。
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート
こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様