JSP サンプル プログラム

・ブラウザからの入力のないプログラム:現在時刻表示

<%@ page contentType="text/html; charset=euc-jp" %>・・・文字コードの指定(指定しないとデフォルトはISO-8859-1が使用される)
<%
// 内容: 時刻を表示する例
// 現在の時刻を取得
java.util.Date nowTime = new java.util.Date();
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>時刻を出力する例</title></head>
<body>
<p>-- 時刻を出力する例 --</p>
<p>
現在の時刻は <strong><%= nowTime %></strong> です。
</p>
</body>
</html>

・時刻による分岐方法

<%@ page import="java.util.*"
contentType="text/html; charset=euc-jp" %>
<%
// 時刻に応じたあいさつを表示する例
// 現在の時刻を取得
GregorianCalendar calendar = new GregorianCalendar();
int nowHour = calendar.get(Calendar.HOUR_OF_DAY);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>時刻に応じたあいさつを表示する例</title></head>
<body>
<p>-- 時刻に応じたあいさつを表示する例 --</p>
<p>
現在は <strong><%= nowHour %>時</strong> です。<br>
<strong>
<% if(nowHour >= 4 && nowHour < 7) { %>
まだ朝早いですね
<% } else if(nowHour >= 7 && nowHour < 12) {
%>
おはようございます
<% } else if(nowHour >= 12 && nowHour < 15) {
%>
お昼ですね
<% } else if(nowHour >= 15 && nowHour < 18) {
%>
もう夕方になりました
<% } else if(nowHour >= 18 && nowHour < 22) {
%>
夜になりましたね
<% } else if(nowHour >= 22 || nowHour < 4) { %>
深夜です
<% } %>
</strong>
</p>
</body>
</html>

・ブラウザから入力を受け取るプログラム
HTML側

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>入力ページ</title></head>
<body>
<p>-- 入力ページ --</p>
<p><form action="3-4.jsp">
お名前: <input type="text" name="name" size=32><br>
生年月日: <input type="text" name="birthday" size=20><br>
<br>
<input type="submit" value="OK">
</form></p>
</body>
</html>

受け取った内容を出力するJSP

<%@ page contentType="text/html; charset=euc-jp" %>
<%
// ユーザーからの入力を出力する
// パラメータを取得
String name = request.getParameter("name");
String birthday = request.getParameter("birthday");
// 文字コードの変換を行う
name = new String(name.getBytes("8859_1"), "EUC_JP");
birthday = new String(birthday.getBytes("8859_1"), "EUC_JP");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>ユーザーからの入力を出力する</title></head>
<body>
<p>-- ユーザーからの入力を出力する --</p>
<p><ul>
<li>お名前: <%= name %>
<li>生年月日: <%= birthday %>
</ul></p>
</body>
</html>

・メソッドの使用例
メソッド内は
<%! %>
を使用
出力する式は
<%= %><br>

<%@ page contentType="text/html; charset=euc-jp" %>
<%
// メソッドを使用する例
String redText = getColoredHTML("赤いテキスト", "red");
String blueText = getColoredHTML("青いテキスト", "blue");
String greenText = getColoredHTML("緑のテキスト", "green");
%>
<%!
/**
 * フォントカラーの指定を行ったHTML文を作成する
 * @param str 色を付けて表示する文字列
 * @param color 色を指定する文字列
 * @return フォントカラーの指定を行ったHTML文
*/
public String getColoredHTML(String str, String color) {
return "<font color=\"" + color + "\">"
+ str + "</font>";
}
%>
<html>
<head><title>メソッドを使用する例</title>
<body>
<p>-- メソッドを使用する例 --</p>
<p>
<%= redText %><br>
<%= blueText %><br>
<%= greenText %><br>
</p>
</body>
</html>

http://www.atmarkit.co.jp/fjava/rensai/jsp03/jsp03.html
・JavaとJSPの連携
Java側
CopyrightHTML.java

package atmarkit;
 
/**
  * 著作権表示用のHTMLを生成するクラス
  */
public class CopyrightHTML {
 
     /** 著作年 */
     public String year = "";
 
     /** 著作者 */
     public String name = "";
 
     /** メールアドレス */
     public String mail = "";
 
     /**
      * 標準的な著作権表示HTML文を取得する
      * @return 標準的な著作権表示HTML文
      */
     public String getNormalHTML() {
         // メールアドレスが指定されている場合は著作者名にリンクをつける
         if(!mail.equals(""))
{
            
name = " <a href=\"mailto:" + mail + "\">" + name + "</a>";
         }
         return "Copyright
" + year + " " + name + ". All rights reserved.";
     }
 
     /**
     * 短い著作権表示HTML文を取得する
     * @return 短い著作権表示HTML文
     */
     public String getShortHTML() {
         // メールアドレスが指定されている場合は著作者名にリンクをつける
         if(!mail.equals(""))
{
            
name = " <a href=\"mailto:" + mail + "\">" + name + "</a>";
         }
         return "(C) "
+ year + " " + name + ".";
     }
}

・JSP側

<%@ page contentType="text/html; charset=euc-jp" import="atmarkit.CopyrightHTML"
%>
<%
// オリジナルクラスを使用する
CopyrightHTML copyright = new CopyrightHTML();
copyright.year = "2001";
copyright.mail = "taro@java.server.pages";
copyright.name = "JSP 太郎";
 
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
     <title>オリジナルクラスを使用する</title>
</head>
<body>
<p>-- オリジナルクラスを使用する --</p>
<p>
<hr>
標準的な著作権表示<br>
<%= copyright.getNormalHTML() %>
<hr>
短い著作権表示<br>
<%= copyright.getShortHTML() %>
<hr>
</p>
</body>
</html>

CopyrightHTMLクラスをBeanにした場合は
http://www.border.jp/midilin/memo/index.php?UID=1288675628
を参考のこと。
http://www.atmarkit.co.jp/fjava/rensai/jsp06/jsp06.html

タイトルとURLをコピーしました