İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

JSP ile Form İşleme

JSP ile form işleme örneği için metin kutusu,radio düğmeleri ve işaret kutuları gibi basit girdi elemanları içeren bir HTML sayfasını işleyen bir JSP sayfası geliştireceğiz.Bunun yanında FormBean adında özellik isimleri form eleman isimleri ile örtüşen bir Java Bean oluşturarak JSP motorunun introspection kullanarak POST işlemi sonucunda Bean’in otomatik örneklemesi göreceğiz.

FormBean.java ÇATISI

package com.jguru;

public class FormBean {

// isim,soyisim ve email için özelliklerin atanması

//ve karşılık gelen girdi elemanları ile karşılaştırılması

private String[] languages;

public FormBean() {

firstName="";

lastName="";

email="";

languages = new String[] { "1" };

notify="";

}

//isim,soyisim,email,notify ve dil get metodlarının yazılması gerekmektedir

// isim,soyisim,email,notify ve dil set metodlarının yazılması gerekmektedir

}

Form.jsp ÇATISI

<html>

<body bgcolor="#c8d8f8">

<form action="/examples/jsp/jdc/forms/form.jsp" method=post>

<center>

<table cellpadding=4 cellspacing=2 border=0>

<th bgcolor="#CCCCFF" colspan=2>

<font size=5>User Registration</font>

</th>

<tr>

<td valign=top>

<b>First Name</b>

<br>

<input type="text" name="firstName" size=15></td>

<td valign=top>

<b>Last Name</b>

<br>

<input type="text" name="lastName" size=15></td>

</tr>

<tr>

<td valign=top colspan=2>

<b>E-Mail</b>

<br>

<input type="text" name="email" size=20>

<br></td>

</tr>

<tr>

<td valign=top colspan=2>

<b>What languages do you program in?</b>

<br>

<input type="checkbox" name="languages" value="Java">Java&nbsp;&nbsp;

<input type="checkbox" name="languages" value="C++">C++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input type="checkbox" name="languages" value="C">C<br>

<input type="checkbox" name="languages" value="Perl">Perl&nbsp;&nbsp;

<input type="checkbox" name="languages" value="COBOL">COBOL

<input type="checkbox" name="languages" value="VB">VB<br>

</td>

</tr>

<tr>

<td valign=top colspan=2>

<b>How often can we notify you regarding your interests?</b>

<br>

<input type="radio" name="notify" value="Weekly" checked>Weekly&nbsp;&nbsp;

<input type="radio" name="notify" value="Monthly">Monthly&nbsp;&nbsp;

<input type="radio" name="notify" value="Quarterly">Quarterly

<br></td>

</tr>

<tr>

<td align=center colspan=2>

<input type="submit" value="Submit"> <input type="reset" value="Reset">

</td>

</tr>

</table>

</center>

</form>

<%-- Form sadece post edildiğinde bean oluştur --%>

<%

if (request.getMethod().equals("POST")) {

%>

<jsp:useBean id="formHandler" class="com.jguru.FormBean">

<%-- setProperty etiketi oluşturulmalı ve set metodlarının introspection ile çağrılması sağlanmalıdır --%>

</jsp:useBean>

<p>

<hr>

<font color=red>

<b>You submitted:<P>

First Name:</b><br>

<%-- getProperty etiketi kullanılarak isim için get metodu çağrılmalıdır --%>

<br><b>Last Name:</b><br>

<%-- getProperty etiketi kullanılarak soyisim için get metodu çağrılmalıdır --%>

<br><b>Email:</b><br>

<%-- getProperty etiketi kullanılarak email için get metodu çağrılmalıdır --%>

<b>Languages:</b><br>

<%

String[] lang = formHandler.getLanguages();

if (!lang[0].equals("1")) {

out.println("<ul>");

for (int i=0; i<lang.length; i++)

out.println("<li>"+lang[i]);

out.println("</ul>");

} else out.println("Nothing was selected<br>");

%>

<b>Notification:</b><br>

<%-- getProperty etiketi kullanılarak notification için get metodu çağrılmalıdır --%>

<br>

<%

}

%>

</font>

</body>

</html>

Yapılacak işler

FORMBEAN.JAVA

FORMBEAN.javaİndir Göster Gizle Kopar Satır Gizle Satır Göster
  1 package com.jguru;
  2 public class FormBean {
  3   private String firstName;
  4   private String lastName;
  5   private String email;
  6   private String languages[];
  7   private String notify;
  8 
  9   public FormBean() {
 10     firstName="";
 11     lastName="";
 12     email="";
 13     languages = new String[] { "1" };
 14     notify="";
 15   }
 16   public String getFirstName() {
 17     return firstName;
 18   }
 19   public String getLastName() {
 20     return lastName;
 21   }
 22   public String getEmail() {
 23     return email;
 24   }
 25   public String[] getLanguages() {
 26     return languages;
 27   }
 28   public String getLanguages(int index) {
 29     return languages[index];
 30   }
 31   public String getNotify() {
 32     return notify;
 33   }
 34   public void setFirstName(String x) {
 35     firstName = x;
 36   }
 37   public void setLastName(String x) {
 38     lastName = x;
 39   }
 40   public void setEmail(String x) {
 41     email = x;
 42   }
 43   public void setLanguages(String[] x) {
 44     languages = x;
 45   }
 46   public void setLanguages(String x, int index) {
 47     languages[index] = x;
 48   }
 49  public void setNotify(String x) {
 50     notify = x;
 51   }
 52 }

FORM.JSP

FORM.jspİndir Göster Gizle Kopar Satır Gizle Satır Göster
  1 <html>
  2 <body bgcolor="#c8d8f8">
  3 <form action="/examples/jsp/jdc/forms/form.jsp" method=post>
  4 <center>
  5 <table cellpadding=4 cellspacing=2 border=0>
  6 <th bgcolor="#CCCCFF" colspan=2>
  7 <font size=5>User Registration</font>
  8 </th>
  9 <tr>
 10 <td valign=top>
 11 <b>First Name</b>
 12 <br>
 13 <input type="text" name="firstName" size=15></td>
 14 <td  valign=top>
 15 <b>Last Name</b>
 16 <br>
 17 <input type="text" name="lastName" size=15></td>
 18 </tr>
 19 <tr>
 20 <td valign=top colspan=2>
 21 <b>E-Mail</b>
 22 <br>
 23 <input type="text" name="email" size=20>
 24 <br></td>
 25 </tr>
 26 <tr>
 27 <td  valign=top colspan=2>
 28 <b>What languages do you program in?</b>
 29 <br>
 30 <input type="checkbox" name="languages" value="Java">Java&nbsp;&nbsp;
 31 <input type="checkbox" name="languages" value="C++">C++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 32 <input type="checkbox" name="languages" value="C">C<br>
 33 <input type="checkbox" name="languages" value="Perl">Perl&nbsp;&nbsp;
 34 <input type="checkbox" name="languages" value="COBOL">COBOL
 35 <input type="checkbox" name="languages" value="VB">VB<br>
 36 </td>
 37 </tr>
 38 <tr>
 39 <td  valign=top colspan=2>
 40 <b>How often can we notify you regarding your interests?</b>
 41 <br>
 42 <input type="radio" name="notify" value="Weekly" checked>Weekly&nbsp;&nbsp;
 43 <input type="radio" name="notify" value="Monthly">Monthly&nbsp;&nbsp;
 44 <input type="radio" name="notify" value="Quarterly">Quarterly
 45 <br></td>
 46 </tr>
 47 <tr>
 48 <td  align=center colspan=2>
 49 <input type="submit" value="Submit"> <input type="reset"  value="Reset">
 50 </td>
 51 </tr>
 52 </table>
 53 </center>
 54 </form>
 55 <%
 56 if (request.getMethod().equals("POST")) {
 57 %>
 58 <jsp:useBean id="formHandler" class="com.jguru.FormBean">
 59 <jsp:setProperty name="formHandler" property="*"/>
 60 </jsp:useBean>
 61 <p>
 62 <hr>
 63 <font color=red>
 64 <b>You submitted:<P>
 65 First Name:</b><br>
 66 <jsp:getProperty name="formHandler" property="firstName"/><br>
 67 <b>Last Name:</b><br>
 68 <jsp:getProperty name="formHandler" property="lastName"/><br>
 69 <b>Email:</b><br>
 70 <jsp:getProperty name="formHandler" property="email"/><br>
 71 <b>Languages:</b><br>
 72 <%
 73     String[] lang = formHandler.getLanguages();
 74     if (!lang[0].equals("1")) {
 75              out.println("<ul>");
 76              for (int i=0; i<lang.length; i++)
 77                        out.println("<li>"+lang[i]);
 78              out.println("</ul>");
 79     } else out.println("Nothing was selected<br>");
 80 %>
 81 <b>Notification:</b><br>
 82 <jsp:getProperty name="formHandler" property="notify"/><br>
 83 <%
 84 }
 85 %>
 86 </font>
 87 </body>
 88 </html>

JSP sayfasına TOMCAT içerisinde erişim geçekleştirdiğinizde karşınıza çıkacak olan ayfa izleyen şeklide olacaktır.

Form içerisinde verilerinize sunulan alanlara girdiğinizde hazırlamış olduğumuz kod girdiğiniz bilgileri size izleyen şekilde sunacaktır.

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır