Yükleniyor...
Eyl 20

5- JSP NOTLARIM -> JSP Tags Örneği (Kayıt işlemi)

Paz 20 Eyl 2009 14:46:44 | 1 yorum
Bu yazımda 4. yazımdaki tagların kullanımı ile örnek bir uygulama oluşturmak. Böylelikle olayı daha iyi kavramış olacağız. Aşağıda formdan elde edilen verilerin başka bir jsp sayfasına post edilişi ve bu sayfada da  <jsp:useBean> ile bir Java sınıfını(classını) referans ederek bu java sınıfına <jsp:setProperty> ile form verilerini set etme, daha sonrada <jsp:getProperty> ile de get ederek kullanma. Aynı zamanda <jsp:forward> ve <jsp:include> taglarını da kullanacağız.
[--split--]
Öncelikle bir register.html adında bir form oluşturalım ve bu form ile kayıt olmak isteyen kullanıcıdan Kullanıcı Adı(userName), İsim (firstName), Şifre (password), Şifre Tekrarı (repassword), Email (email), ve Telefon # (phone) bilgilerini alalım.
--------------register.html------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Register Form</title>
</head>
<body>
<form action="registerProcess.jsp" method="post" >
<table cellspacing="0" cellpadding="0" bgcolor="#B4C6DB">
  <tr>
    <td width="135" height="50" >
      <div align="right"><strong><sup>*</sup>Kullanıcı Adı :&nbsp;</strong></div>
    </td>
    <td width="166" height="50" >
      <input name="userName" type="text" size=15 maxlength=45 />   
    </td>
  </tr>
  <tr>
    <td height="50" >
      <div align="right"><strong><sup>*</sup>İsim :&nbsp;</strong></div>
    </td>
    <td >
      <input name="firstName" type="text" size=15 maxlength=45 />
    </td>
  </tr>
  <tr>
    <td height="50" >
      <div align="right"><strong><sup>*</sup>Şifre :&nbsp;</strong></div>
    </td>
    <td >
      <input name="password" type="password" size=15  maxlength=15 />
    </td>
  </tr>
  <tr>
    <td height="50" >
      <div align="right"><strong><sup>*</sup>Şifre Tekrarı :&nbsp;</strong></div>
    </td>
    <td >
      <input name="rePass" type="password" size=15   maxlength=15 />
    </td>
  </tr>
  <tr>
    <td height="50" >
     <div align="right"><strong><sup>*</sup>Telefon # :&nbsp;</strong></div>
    </td>
    <td >
      <input  name="phone" type="text" size=15 maxlength=10  />
    </td>
  </tr>
  <tr>
    <td height="50" >
     <div align="right"><strong><sup>*</sup>E-Posta :&nbsp;</strong></div>
    </td>
    <td >
      <input name="email" type="text" size=15  maxlength=45  />
    </td>
  </tr> 
  <tr>     
          <td></td>
          <td align="right" style="padding-right: 10px;" height="50">
              <input type="reset" name="Reset" style="border: thin; background-color: buttonhighlight; " value="RESET" />
              <input type="submit" name="Save" style="border: thin; background-color: buttonhighlight;" value="SAVE" />
          </td>
  </tr>
</table>
</form>
</body>
</html>

-------------------------------------------------------------------------------

register.html adında kullanıcı kayıt formunu oluşturduk ve formun action'ını registerProcess.jsp sayfasına post methodu ile yolladık. Elbette şimdi sıra registerProcess.jsp sayfasını oluşturmaya geldi.

--------------registerProcess.jsp--------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<jsp:useBean id="formBean" class="register.RegisterFormBean" scope="request" />
<jsp:setProperty name="formBean" property="*" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hesap Detayları</title>
</head>
<body>
        <table bgcolor="#B4C6DB" style="padding: 10px;" >
            <tr>
                <td colspan="2" ><p><strong>Hesap Detayları</strong></p></td>
            </tr>
            <tr>
                <td width="135" height="50">
                    <div align="right"><strong><sup>*</sup>User Name :&nbsp;</strong></div>
                </td>
                <td width="166" height="50">
                    <jsp:getProperty name="formBean" property="userName" />
                </td>
            </tr>
            <tr>
                <td height="50">
                    <div align="right"><strong><sup>*</sup>First Name :&nbsp;</strong></div>
                </td>
                <td>
                    <jsp:getProperty name="formBean" property="firstName" />
                </td>
            </tr>
            <tr>
                <td height="50">
                    <div align="right"><strong><sup>*</sup>Phone # :&nbsp;</strong></div>
                </td>
                <td>
                    <jsp:getProperty name="formBean" property="phone" />
                </td>
            </tr>
            <tr>
                <td height="50">
                    <div align="right"><strong><sup>*</sup>Email Address :&nbsp;</strong></div>
                </td>
                <td>
                    <jsp:getProperty name="formBean" property="email" />
                </td>
            </tr>
    </table>
   
</body>
</html>

-------------------------------------------------------------------------------

registerProcess.jsp sayfamızda register.html sayfasından gönderilen (post)  edilen verileri işliyoruz(bean). Öncelikle <jsp:useBean> tagı ile Java classını referans gösteriyoruz set ve get etmek için. Yani Java classının içinde form verilerinin set ve get methodları(yordamları) var. Elbette şimdide register package ının altında RegisterFormBean classını oluşturmaya sıra geldi. Bu classı oluşturduktan sonra tekrar registerProcess.jsp sayfamızı incelemeye devam edeceğiz.

--------------RegisterFormBean.java--------------------------------------------------
package register;

public class RegisterFormBean {
   
    private String userName;
    private String firstName;
    private String password;
    private String rePass;
    private String email;
    private String phone;
   
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getRePass() {
        return rePass;
    }
    public void setRePass(String rePass) {
        this.rePass = rePass;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }

}

-------------------------------------------------------------------------------

Evet RegisterFormBean.java classını da oluşturduğumuza göre şimdi tekrar registerProcess.jsp sayfamızı incelemeye devam edebiliriz. <jsp:setProperty name="formBean" property="*" />  satırında formdan gönderilen verileri set ediyoruz. useBean tagında id'yi formBean olarak vermiştik. setProperty de name kısmını useBean'in id'si ile aynı veriyoruz yani name="formBean" . property alanında ben * koydum. Bunun anlamı post edilen tüm verileri set et demek. Eğer siz sadece belirli verileri set etmek istiyorsanız property alanına bunları belirtmeniz gerekir. <jsp:getProperty name="formBean" property="userName" /> ile de set ettiğimiz kullanıcı adını ekrana yazdırıyoruz.. Bu uygulamamızda form verilerinin kontrolünü falan yapmadık. Yani Telefon # alanına karakter girilmemesi, alanların boş bırakılmaması gibi. İleride ilk önce form kontrollerini yapıp daha sonrada Veri tabanı da kullanarak geliştirmeye çalışacağız. Ama O seviyeye gelmeden önce JSTL ve Servlet hakkında da bilgi sahibi olmamız gerekecek.

Uygulamamızın Görüntüleri:




  • SHARE

Yorum

Bu yazı dizisinin devamını sabırla bekliyoruz. En heyecanlı yerinde kesintiye uğramış :)



ya da
CAPTCHA Images

Son Aktiviteler

Biri bu bloga yorum yaptı.
18 ay önce
added a new blog entry.
20 ay önce
added a new blog entry.
20 ay önce
added a new blog entry.
21 ay önce
added a new blog entry.
22 ay önce