JSP(Java Server Pages)を使おう! (2/5)
作成:2012-04-29 11:53
更新:2012-04-29 12:09
更新: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して大丈夫です)
では、helo.jspをダブルクリックして開き、ソースコードを修正しましょう。デフォルトで簡単なコードが書かれていますが、これはUTF-8用にはなっていませんので、あちこち修正する必要があります。また、実際に表示される内容は何もないので、これも適当に作成しておかないといけませんね。
下のリスト欄に、簡単なサンプルコードを掲載しておきました。とりあえずは、この通りに修正してください。そして保存しましょう。ここでは、見慣れないタグが2つ登場しています。以下のものです。
・pageディレクティブ
ここでは、すぐ後に「page」とありますね。これは「pageディレクティブ」というもので、ページの諸設定を記述するものです。ここでは、language、contentType、pageEncodingといった属性がありますが、これらはそれぞれ「使用言語」「コンテンツタイプ」「ページのエンコード方式」を指定するものです。まぁ、これは「必ずこのタグを書いておく」と丸暗記しておいていいでしょう。
・<%= %>タグ
実際に試してみればわかるように、これは、Calendar.getInstance().getTime()では動きません。java.util.Calendar……というように、パッケージからきっちり指定しないといけないのです。(もちろん、パッケージを指定する方法もあります。これは後で説明します)
※下の図は、ファイルの設定画面でエンコーディングを変更しているところ。
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"一番最初にあるのは、<%@ …… %>という形のタグです。この<%@で始まり、%>で終わるタグは、「ディレクティブ(指令)」と呼ばれるものです。これ自体はJavaのコードではなく、ページに関する細かな指定を記述するのに使います。
pageEncoding="utf-8"%>
ここでは、すぐ後に「page」とありますね。これは「pageディレクティブ」というもので、ページの諸設定を記述するものです。ここでは、language、contentType、pageEncodingといった属性がありますが、これらはそれぞれ「使用言語」「コンテンツタイプ」「ページのエンコード方式」を指定するものです。まぁ、これは「必ずこのタグを書いておく」と丸暗記しておいていいでしょう。
・<%= %>タグ
<%= java.util.Calendar.getInstance().getTime() %>これが、実際にJavaのコードを実行している部分です。<%=で始まり、%>で終わるタグは、イコールの後に書かれたJavaのコードを実行し、その結果をその場に書き出す働きをするものです。ここでは、java.util.Calendar.getInstance().getTime()の結果をページに出力していたわけです。
実際に試してみればわかるように、これは、Calendar.getInstance().getTime()では動きません。java.util.Calendar……というように、パッケージからきっちり指定しないといけないのです。(もちろん、パッケージを指定する方法もあります。これは後で説明します)
※下の図は、ファイルの設定画面でエンコーディングを変更しているところ。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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>
※関連コンテンツ