bean と JSP

Revised: 23rd/June/2002

前節で作った bean を JSP から利用してみましょう。

1. JSP

半径を入力する JSP を作成します。

C:\java\BeanDemo\JSP_Form.jsp:

<%@page contentType="text/html; charset=Shift_JIS" %>
<% request.setCharacterEncoding("Shift_JIS"); %>

<?xml version="1.0" encoding="Shift_JIS" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<title>JSP による円の面積と円周</title>
</head>
<body>
<h1>JSP による円の面積と円周</h1>

<form action="./JSP_Form.jsp" method="POST">
<p>半径:
<% if (request.getParameter("hankei") == null || request.getParameter("hankei").equals("")) { %>
	<input type="text" name="hankei" size="10" />
	<input type="submit" value="計算" /></p>
</form>
<% } else { %>
<%! double radius; %>
<% radius = Double.parseDouble(request.getParameter("hankei")); %>

	<input type="text" name="hankei" size="10" value="<%= radius %>" />
	<input type="submit" value="計算" /></p>
</form>

<jsp:useBean id="circle" scope="session" class="model.CircleCalcurationBean" />
<% circle.calc(radius); %>

<table border="1">
<tr><th>半径</th><td><jsp:getProperty name="circle" property="radius" /></td></tr>
<tr><th>円周</th><td><jsp:getProperty name="circle" property="area" /></td></tr>
<tr><th>面積</th><td><jsp:getProperty name="circle" property="circum" /></td></tr>
</table>

<% } %>
</body>
</html>

2. 稼動確認

Tomcat を起動して、ブラウザから JSP を要求してみます。

POST 要求

  1. ブラウザから http://localhost:8080/beans/JSP_Form.jsp を要求
  2. フォームに適当な整数を半角数字で入力して「計算」ボタンを押す
JSP フォームの表示例
図:JSP フォームの表示例
JSP フォームの応答例
図:JSP の応答例

空文字の POST

結果の画面で、フォームを空にして「計算」ボタンを押してみます。このとき、計算結果のテーブルが表示されないフォームのページが表示されます。このときは、JSP の条件分岐 request.getParameter("hankei").equals("") にヒットしています。

null 文字の POST

また、新しいブラウザを立ち上げて、http://localhost:8080/beans/JSP_Form.jsp を要求し、フォームになにも入力しないで「計算」ボタンを押してみます。このとき、計算結果のテーブルが表示されないフォームのページが表示されます。このときも、JSP の条件分岐 request.getParameter("hankei") == null にヒットしています。最初にこのページを要求したときも同じように、この条件文にヒットして、ブランクのフォームが表示されたのです。

GET 要求

以上は POST メソッドからの要求ですが、 GET メソッドからも要求してみましょう。ブラウザから http://localhost:8080/beans/JSP_Form.jsp?hankei=1 を要求してみてください。

図:GET 要求


Copyright © 2002 SUGAI, Manabu. All Rights Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送