javaBean【02】javaBean與表單應用

來源:互聯網
上載者:User

對於javaBean,我們說就是一個*.java檔案。對於javaBean的應用必須結合表單才能體現。我們來以一個執行個體學習javaBean的應用。

 
  1. biaodan.html  
  2. <html> 
  3. <head> 
  4. <title>WEB開發</title> 
  5. </head> 
  6. <body> 
  7. <form action="javaBean_01.jsp" method="post"> 
  8.    姓名:<input type="text" name="name"><br> 
  9.   年齡:  <input type="text" name="age"><br> 
  10.   <input type="submit" value="提交"> 
  11.   <input type="reset" value="重設"> 
  12. </form> 
  13. </body> 
  14. </html> 

 

有了提交頁面,我們再來做接受顯示頁面。對於屬性的定義應該用javaBean了。

 
  1. SimpleBean.java  
  2. package javaBean01;  
  3. public class SimpleBean {  
  4.     private String name;  
  5.     private int age;  
  6.     public SimpleBean(){  
  7.           
  8.     }  
  9.     public void setName(String name){  
  10.         this.name=name;  
  11.     }  
  12.     public void setAge(int age){  
  13.         this.age=age;  
  14.     }  
  15.     public String getName(){  
  16.         return this.name;  
  17.     }  
  18.     public int getAge(){  
  19.         return this.age;  
  20.     }  
  21. }  

javaBean做好了後,再來做SimpleBean_01.jsp頁面,這個頁面才是關鍵,如果按照一般方法的話如下:

 
  1. SimpleBean_01.jsp  
  2. <%@ page language="java" contentType="text/html" pageEncoding="gbk" %> 
  3. <%@ page import="javaBean01.SimpleBean" %>  //導進包
  4. <html>   
  5. <head> 
  6. <title>web開發</title> 
  7. </head> 
  8. <body> 
  9. <%   
  10.      request.setCharacterEncoding("gbk");   //編碼
  11.      SimpleBean simple=new SimpleBean();   //執行個體化對象
  12.      simple.setName(request.getParameter("name"));   //接受參數
  13.      simple.setAge(Integer.parseInt(request.getParameter("age")));  
  14. %> 
  15. <h3>姓名:<%=simple.getName() %></h3> 
  16. <h3>年齡:<%=simple.getAge() %></h3> 
  17. </body> 
  18. </html> 

以上的方法是一般的做法,先導進去javaBean的包,然後執行個體化對象,然後接受參數讓其顯示,這一種方法是最原始的手工定義javaBean的對象,可以說都是用手工完成的。       但是既然我們學了javaBean了,就會有一種更好的方法,那就是標籤指令。標籤指令在上一篇文章中已經學習過了,而這一次我們來更加深入的學習標籤指令。

 
  1. SimpleBean_01.jsp  
  2. <%@ page language="java" contentType="text/html" pageEncoding="gbk" %> 
  3. <html>   
  4. <head> 
  5. <title>web開發</title> 
  6. </head> 
  7. <body> 
  8. <%   request.setCharacterEncoding("gbk");%> 
  9. <jsp:useBean id="simple" scope="page" class="javaBean01.SimpleBean"/> 
  10. <jsp:setProperty name="simple" property="*"/>    操作javaBean中的屬性  
  11. <h3>姓名:<%=simple.getName() %></h3> 
  12. <h3>年齡:<%=simple.getAge() %></h3> 
  13. </body> 
  14. </html> 

用以上的這個方法我們可以發現它的好處,執行個體化對象用一個id就可以了,而且沒有了接受參數這一塊,沒錯,原來的接受參數被 <jsp:setProperty name="simple" property="*"/> 這個指令所代替了。

  通過一個<jsp:setProperty>標籤就可以完成所有請求參數的自動化佈建,而且可以自動將輸入的String型變成int型的資料。對於<jsp:setProperty>,它的文法如下:

 

<jsp:setProperty>:表示操作指定javaBean中的屬性,裡面定義了兩個屬性

      1. name: 表示的是使用javaBean中的id的定義

      2.  property:表示的是設定裡面的屬性內容,如果為* 則表示自動匹配,與表單相匹配。

    如果要想讓表單的參數可以自動化佈建到javaBean之中的話,那麼急需要讓參數的名稱與屬性一致,但是這種說法並不明確,因為在這之中還包含了一個概念。

   在編寫簡單的java類的時候一直強調,類中的屬性必須封裝,封裝之後的屬性需要按照指定的格式編寫對應的setter、getter方法。

   使用這種操作,實際上最終調用的是javaBean中的setter方法,而setter方法又有嚴格的命名要求,所以可以簡單的理解為要想設定,則參數名稱必須與屬性名稱一致,否則無法完成設定。

  當然,這種操作的原理依然是反射機制,通過反射課一將指定屬性名稱的setter方法進行調用。

 

    javaBean的優點必須結合表單才可以體現出來。

 

 

 

 

本文出自 “趙玉強的部落格” 部落格,請務必保留此出處http://zhaoyuqiang.blog.51cto.com/6328846/1134335

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.