JavaBean遵循著特定的寫法,通常有以下的規則:
有無參的構造函數成員屬性私有化封裝的屬性如果需要被外所操作,必須編寫public類型的setter、getter方法上面的文字看起來好像很高大上,javaBean其實非常簡單,下面的代碼就是按照特定寫法、規則編寫的一個JavaBean對象
public class Person { PRivate String username ; private int age; public Person() { } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }JaveBean你可以理解為一輛貨車,在你的java端和web頁面進行數據傳遞的載體,你當然可以每個變量單獨傳遞,或者使用集合傳遞,但是javabean可以使你的數據更有可讀性,方便開發時明確變量的意義,也使其他閱讀你代碼的人能直接你的意圖
> 如果把bean類與數據庫聯合使用,一張表使用bean類,可以使你的代碼更加簡潔高效,易于理解,現在大多數框架都會使用這種機制。
<jsp:useBean>
<jsp:useBean>
標簽用于在指定的域范圍內查找指定名稱的JavaBean對象:
語法:
<jsp:useBean id="實例化對象的名稱" class="類的全名" scope="保存范圍"/>如果JSP不支持<jsp:useBean>
這個行為,我們要使用Person類是這樣使用的 <%--這里需要導入Person類--%> <%@ page import="domain.Person" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title></title> </head> <body> <% //new出對象 Person person = new Person(); person.setName("zhongfucheng"); System.out.println(person.getName()); %> </body> </html>效果如下<jsp:useBean>
就顯得非常簡潔,不用導包,不用new出對象 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title></title> </head> <body> <jsp:useBean id="person" class="domain.Person" scope="page"/> <% person.setName("zhongfucheng"); System.out.println(person.getName()); %> </body> </html>也可以實現同樣的效果:<jsp:useBean>
這樣的代碼就可以創建出一個對象出來?,F在我把JavaBean中無參的構造函數改成有參的,我們看看會出現什么情況,出現異常了! public Person(int age) { this.age = age; }<jsp:useBean id="person" class="domain.Person" scope="page"/>
內部原理是這樣子的:<jsp:setProperty>
在語法上可分為4種模式
自動匹配指定屬性指定參數【很少用】指定內容【很少用】當我們沒有學習到時,我們獲取表單的信息,然后導入到javaBean對象中是這樣的一種情況:
這是表單的頁面代碼:
<form action="/zhongfucheng/1.jsp" method="post"> 用戶名:<input type="text" name="username"> 年齡:<input type="text " name="age"> <input type="submit" value="提交"> </form>這是處理表單提交過來數據的jsp的代碼 <jsp:useBean id="person" class="domain.Person" scope="page"/> <% int age = Integer.parseInt(request.getParameter("age")); person.setAge(age); System.out.println(person.getAge()); %>這是可以完成的,但是相對來說,比較麻煩!<jsp:getProperty>
語法:
該jsp行為十分簡單,我們來使用一下就知道了。
<%--使用<jsp:getProperty>輸出--%> <jsp:getProperty name="person" property="username"/> <jsp:getProperty name="person" property="age"/>效果:新聞熱點
疑難解答