Revised: 23rd/June/2002
前節で作った bean を 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>
Tomcat を起動して、ブラウザから JSP を要求してみます。
http://localhost:8080/beans/JSP_Form.jsp
を要求![]() |
図:JSP フォームの表示例 |
![]() |
図:JSP の応答例 |
結果の画面で、フォームを空にして「計算」ボタンを押してみます。このとき、計算結果のテーブルが表示されないフォームのページが表示されます。このときは、JSP の条件分岐 request.getParameter("hankei").equals("")
にヒットしています。
また、新しいブラウザを立ち上げて、http://localhost:8080/beans/JSP_Form.jsp
を要求し、フォームになにも入力しないで「計算」ボタンを押してみます。このとき、計算結果のテーブルが表示されないフォームのページが表示されます。このときも、JSP の条件分岐 request.getParameter("hankei") == null
にヒットしています。最初にこのページを要求したときも同じように、この条件文にヒットして、ブランクのフォームが表示されたのです。
以上は POST メソッドからの要求ですが、 GET メソッドからも要求してみましょう。ブラウザから http://localhost:8080/beans/JSP_Form.jsp?hankei=1
を要求してみてください。
![]() |
図:GET 要求 |