libro
www.tuyano.com
初心者のためのJSP/サーブレット入門

JSP(Java Server Pages)を使おう! (2/5)

作成:2012-04-29 11:53
更新:2012-04-29 12:09

■JSPファイルを編集しよう

では、作成したJSPを編集してページを作りましょう。これは、まずページのエンコードをUTF-8に変更しておきます。

Project Explorerから「helo.jsp」を選択し、<File>メニューの中から<Properties>を選んでください。画面に、このhelo.jspファイルの設定ウインドウが現れます。

このウインドウは、左側に設定の項目がリストして表示され、ここから項目を選択すると、その具体的な設定内容が右側に表示されるようになっています。このリストから、「Resource」を選択します(一番上。おそらくデフォルトでこれが選ばれているはずです)。

画面に、ファイルに関する属性などの設定が表示されます。ここから、一番下にある「Text file encoding」というところを見て下さい。「Default」ラジオボタンが選択されているはずです。これを、「Other」に変更し、右側のポップアップメニューから「UTF-8」を選びます。これで「OK」ボタンを押してダイアログを閉じれば、ファイルのエンコーディングが変更されます。(途中、「エンコードがバッティングして……」といった警告が現れますが、そのままOKして大丈夫です)


■JSPのタグを使ってみよう

では、helo.jspをダブルクリックして開き、ソースコードを修正しましょう。デフォルトで簡単なコードが書かれていますが、これはUTF-8用にはなっていませんので、あちこち修正する必要があります。また、実際に表示される内容は何もないので、これも適当に作成しておかないといけませんね。

下のリスト欄に、簡単なサンプルコードを掲載しておきました。とりあえずは、この通りに修正してください。そして保存しましょう。ここでは、見慣れないタグが2つ登場しています。以下のものです。

・pageディレクティブ
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
一番最初にあるのは、<%@ …… %>という形のタグです。この<%@で始まり、%>で終わるタグは、「ディレクティブ(指令)」と呼ばれるものです。これ自体はJavaのコードではなく、ページに関する細かな指定を記述するのに使います。

ここでは、すぐ後に「page」とありますね。これは「pageディレクティブ」というもので、ページの諸設定を記述するものです。ここでは、languagecontentTypepageEncodingといった属性がありますが、これらはそれぞれ「使用言語」「コンテンツタイプ」「ページのエンコード方式」を指定するものです。まぁ、これは「必ずこのタグを書いておく」と丸暗記しておいていいでしょう。

・<%= %>タグ
<%= java.util.Calendar.getInstance().getTime() %>
これが、実際にJavaのコードを実行している部分です。<%=で始まり、%>で終わるタグは、イコールの後に書かれたJavaのコードを実行し、その結果をその場に書き出す働きをするものです。ここでは、java.util.Calendar.getInstance().getTime()の結果をページに出力していたわけです。

実際に試してみればわかるように、これは、Calendar.getInstance().getTime()では動きません。java.util.Calendar……というように、パッケージからきっちり指定しないといけないのです。(もちろん、パッケージを指定する方法もあります。これは後で説明します)


※下の図は、ファイルの設定画面でエンコーディングを変更しているところ。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※helo.jspの修正

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
	"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>Sample jsp</title>
	<style>
	h1 {font-size:16pt; background:#AAFFAA; padding:5px; }
	</style>
</head>
<body>
	<h1>Sample jsp page</h1>
	<p>これはサンプルで用意したページです。</p>
	<p><%= java.util.Calendar.getInstance().getTime() %></p>
</body>
</html>

※関連コンテンツ

「初心者のためのJSP/サーブレット入門」に戻る