【Java】JSPでタグライブラリを使う(JSTL)
こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
こんにちは、駆け出しプログラマーの若江です!
ここでは初学者として学習を終えた私からアウトプットの意味も込めて、
アノテーションについて紹介させていただきます。
できる限り初学者が理解しやすい内容として紹介させていただくので、参考となれば幸いです!
関連記事リンク:継承とオーバーライドの紹介 / クラスの紹介 / メソッドの紹介 / 変数の紹介
アノテーションは「注釈」を意味する Java での便利機能です。
プログラム自体はアノテーションが無くても動かすことができますが、
アノテーションを活用することでスムーズな開発を行うことができるようになります。
ここではアノテーション使い方や種類について紹介させていただきます。
アノテーションとは注釈を意味し、他者を含む開発者が理解しやすいプログラムになることに加えて、
コンパイラや実行環境が処理を行うための目印にもなり、誤認識や記述ミスを防ぐことができます。
アノテーションは「@」を表記して記述されます。
・アノテーションの構文: @アノテーション名
「@アノテーション名」を修飾子としてクラス、変数やメソッドなど適切なものに付けることで、
アノテーションはその機能を発揮します。
アノテーション自身が持つメソッド(もしくはフィールド)の数によって3つのタイプへ分かれます。
メソッドを持たないアノテーションです。
名前だけのアノテーションとも呼ばれています。
処理を持たないアノテーションのため「@アノテーション名」のように記述されます。
メソッドを1つ持つアノテーションです。
「@アノテーション名( ~ )」のようにデータを1つ保持する記述がされます。
メソッドを2つ以上持つアノテーションです。
「@アノテーション( ~, ~ )」のようにデータを複数保持する記述がされます。
アノテーションにはあらかじめ、たくさんの種類が用意されています。
自作でオリジナルのアノテーションを作ることも可能ですが、
多くの場合はあらかじめ用意されたアノテーションを使うことになります。
あらかじめ用意されたアノテーションは、ここでは紹介しきれないほど多いため、
今回はよく使われる「標準アノテーション」である
「@Override」「@Deprecated」「@SuppressWarnings」
の3つに注目して紹介させていただきたいと思います。
オーバーライドしたメソッドの注釈で使われるマーカーアノテーションです。
チームにオーバーライドしたメソッドであることを伝えます。
コンパイラは @Override を目印にメソッドが正しくオーバーライドされているかチェックを行います。
誤字があったり不適切なオーバーライドをしている場合にコンパイルエラーを返します。
◆ @Override の使用例
【親クラス】 method と method2 メソッドを作成
public class AnnotationTest {
public void method() {
}
public void method2() {
}
}
【子クラス】 method と method2 をオーバーライド
public class AnnotationTest2 extends AnnotationTest {
public void methob() {
// 誤入力しているが、新たなメソッドとして判断される
}
@Override
public void method() {
// 正しくオーバーライドされているためエラーが出ない
}
@Override
public void methob2() {
// method2 を誤入力しているため、「そんなメソッドはない」とエラーが出る
}
}
サンプルコードのように @Override を付ないで記述ミスした場合は、
オーバーライドしたいメソッドかどうかをコンパイラが判断できないため、
ミスした記述に従って新たなメソッドを作成します。
一方 @Override を付けて記述ミスした場合は、
オーバーライドしたいメソッドだということがわかるため、
コンパイラがチェックを行い「そのようなメソッドはない」と返しています。
このようにコンパイラのチェック機能が働くため、未然に記述ミスを防ぐことができます。
開発環境の変化などにより過去に使っていたメソッドやフィールドなどが、
使用非推奨となった場合の注釈として使われるマーカーアノテーションです。
使用不可ではなく「非推奨」のため使うことはできますが、
プロジェクトに変更があったことを意味するため、使用には注意が必要となります。
例えば、メソッド①は使わないようになって代わりにメソッド②を使うようになったが、
一部のクラスで古いメソッドを使わなくてはならないや、使う可能性がある。といったケースで使われます。
◆ @Deprecated の使用例
public class AnnotationTest {
@Deprecated
public void method() {
// 古いメソッドのため使用非推奨
}
public void method2(int num) {
// 古いメソッドの代わりに使うメソッド
}
}
警告文の出るコーディングを意図的に行っているなどの状況で、
その警告文を表示させないようにしたい場合などで使用される単一アノテーションです。
「@SuppressWarnings( "設定値" )」のように記述することで使うことができます。
@SuppressWarnings でよく使われる設定値には以下の種類があります。
・cast:不要なキャストをしている
・deprecation:非推奨なメンバーを利用している
・unused:使われていないメンバーがある
ほか設定値も使用可能ですが、コンパイラや開発環境、バージョンによって使える設定値は異なります。
先ほどの @deprecated と @SuppressWarnings を組み合わせて、
非推奨なものを警告文なしで記述するサンプルコードを見てみましょう。
◆ @SuppressWarnings の使用例
【クラス①】 使用非推奨のメソッドを作成
public class AnnotationTest {
@Deprecated
public void method() {
// 使用非推奨
}
}
【クラス②】 @SuppressWarnings で警告文が出ないようにする
public class Test {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
AnnotationTest test = new AnnotationTest();
test.method(); // 非推奨なメソッドを使用しているが警告が出ない
}
}
使用非推奨なメソッドを使っていますが警告文が出なくなりました。
上記で使った @SuppressWarnings("deprecation") は警告を出したくない変数に直接付与するのではなく、
メソッド、もしくはクラスに付与しなくてはならない点に注意しましょう。
アノテーションには多くの便利な機能が事前に用意されています。
使い方もシンプルで使いやすいので有効活用しましょう。
また先述で少し触れた自作アノテーションの方法も別記事で紹介させていただきます。
アノテーションの自作をお考えの方はご一読ください。
継承とオーバーライドの紹介 / クラスの紹介 / メソッドの紹介 / 変数の紹介
【著者】
30代で異業種となるIT業界へ転職した駆け出しのプログラマです。これまで主に Java や Ruby、HTML/CSS を使って学習を目的としたショップサイトや掲示板サイトの作成を行いました。プログラマとしての経験が浅いからこそ、未経験者の目線に近い形で基礎の紹介をしていきたいと思います。
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート
こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様