【Java】JSPでタグライブラリを使う(JSTL)
こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
当記事では、システムプロパティの概要と取得の方法、具体的な使用例をJava Gold SE11の資格を持つ著者が解説します。
プロパティとは、属性や設定値を表す情報のことで、Java実行環境(JRE)の一つであるJava仮想マシン(JVM)もプロパティを持ちます。これをシステムプロパティと呼びます。
一般のプロパティファイルについては、以下の記事で紹介しています。
【Java】PropertiesクラスとResourceBundleクラス
System.out.printlnメソッドなどでおなじみのSystemクラスには、このシステムプロパティを取得するためのメソッドが実装されています。
メソッド名 | 戻り値の型 | 説明 |
---|---|---|
lineSeparator() | String | システムで設定されている行区切り文字列を返します。戻り値は、UNIX系システムでは"\n"、Windows系システムでは"\r\n"になります。 |
getProperty( String Key [,String def]) | String | 指定されたキーを持つシステムプロパティの値を返します。指定されたキーがシステムプロパティ中に存在しない場合は、defで指定したデフォルト値を返します。 |
getProperties() | Properties | 現在のシステムプロパティを返します。PropertiesクラスはMap型で、キーと値のペアを持ちます。 |
Propertiesクラスについては以下の記事で詳しく紹介しています。
【Java】PropertiesクラスとResourceBundleクラス
今回のサンプルコードでは、Propertiesクラスの以下のメソッドを使用します。
list( PrintStream out) | void | 指定した出力ストリームに、プロパティのリストを出力します。 例えばoutにSystem.outを指定すれば、標準出力ストリームにプロパティのリストを出力できます。 |
メソッド名 | 戻り値の型 | 説明 |
---|
以下の表で代表的なプロパティのキーとその内容を紹介します。
プロパティのキー | 内容 |
---|---|
java.class.path | Javaクラスパス |
java.home | Javaをインストールしたディレクトリ |
java.io.tmpdir | 一時ファイルを生成するパス |
java.library.path | Javaのライブラリを検索するパス |
java.version | JREのバージョン |
java.vm.name | Java仮想マシンの名前 |
user.dir | ユーザーの現在の作業ディレクトリ |
user.home | ユーザーのホームディレクトリ |
os.arch | OSのアーキテクチャ名 |
os.name | OS名 |
os.version | OSのバージョン |
file.separator | ファイルの区切り文字 |
file.encoding | JRE上でのデフォルトの文字コード |
line.separator | 行の区切り文字 |
path.separator=; | パスの区切り文字 |
以下のコードでは、システムプロパティから改行コード呼び出し、文字コードの種類の出力、すべてのシステムプロパティの出力を行っています。
public class SystemPropertiesSample {
public static void main(String[] args) {
//System.lineSeparator()で改行コードを呼び出す
System.out.println("一行目" + System.lineSeparator() + "二行目");
//JRE上で現在使用されている文字コードを返す
System.out.println(System.getProperty("file.encoding"));
//システムプロパティを全て取得して出力する
Properties properties = System.getProperties();
properties.list(System.out);
}
}
上記のサンプルコードを実行すると、以下のような内容がコンソールに出力されます。
一行目
二行目
UTF-8
-- listing properties --
sun.desktop=windows
awt.toolkit=sun.awt.windows.WToolkit
java.specification.version=11
sun.cpu.isalist=amd64
sun.jnu.encoding=MS932
java.class.path=
java.vm.vendor=AdoptOpenJDK
sun.arch.data.model=64
user.variant=
java.vendor.url=https://adoptopenjdk.net/
user.timezone=
os.name=Windows 10
java.vm.specification.version=11
sun.java.launcher=SUN_STANDARD
user.country=JP
(以下省略)
Java実行環境の設定に依存する不具合(コンソールで文字化けする、バージョンが古いため使えない機能がある)などの事象が起きた場合、システムプロパティを確認する必要が出てくると思います。そのような不具合はコードを書き換えても治らない可能性があり、システムプロパティを変更する必要があるかもしれません。
普段使うことはあまりありませんが、頭の片隅に置いといていただければ幸いです。
関連記事:
【Java】PropertiesクラスとResourceBundleクラス
【著者】
フォワードソフト株式会社のエンジニア。Java、Python、JavaScript、C#などの言語の他、クラウドやネットワーク技術を勉強しています。PythonやVBAを使った自動化で楽をする方法を考えるのが好きです。 最近はジェネレーティブAIの業務利用に関する検証を行っています。 資格を通じて知識を吸収することを心がけており、セキュリティスペシャリスト、データベーススペシャリスト、応用情報技術者、Oracle Certified Java Programmer Gold SE 11、Pythin3 エンジニア認定試験、HTML5プロフェッショナル認定試験レベル2、AWSプラクティショナーなどの情報資格を保有しています。
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート
こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS
こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様