JSP基礎:JavaBean
阿新 • • 發佈:2018-12-17
JavaBean是使用Java語言開發的一個可重用性的元件,在jsp中使用JavaBean可以減少重複程式碼,使HTML和Java程式碼分離,使整個JSP開發更為簡潔。
一.使用JavaBean的優點與開發要求
1.使HTML程式碼和Java程式碼分離,使以後的維護更加方便。可利用這點把常用的功能寫成JavaBean元件,當jsp使用時只需要呼叫JavaBean的元件即可。
2.開發要求:
所有類都要放在包裡面,沒有包的類時不存在的。
所有類必須宣告為public class,這樣才能在外部訪問
所有類的屬性都要宣告為private,即封裝
封裝的屬性如果需要被外部呼叫,則必須編寫對應屬性的setter,getter方法
一個JavaBean中至少包含一個無參的構造方法,此方法為JSP的標籤所使用
二.JavaBean編譯完成的儲存位置
想知道JavaBean的儲存位置需要先了解webroot的結構,如下圖所示:
目錄對應結構的功能如下:
三.JavaBean的使用
方法一.<%@page%>標籤匯入需要的包
示例:SimpleBean.java
package com.shengxuan; public class SimpleBean { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="com.shengxuan.*"%> <%@ page import="com.shengxuan.SimpleBean" %> <html> <head> <title>$Title$</title> </head> <body> <% SimpleBean bean = new SimpleBean(); bean.setName("SihgYu"); bean.setAge(22); %> <h3><%=bean.getAge()%></h3> <h3><%=bean.getName()%></h3> </body> </html>
執行截圖:
方法二.使用<jsp:useBean>
<jsp:useBean id="例項化物件名稱" scope="儲存範圍" class="包.類名稱">
這個方法直接使物件例項化的原因是使用了java的反射機制
其中scope:可選擇 page request session application
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="bean" scope="page" class="com.shengxuan.SimpleBean"/>
<%@ page import="com.shengxuan.SimpleBean" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
bean.setName("SihgYu");
bean.setAge(22);
%>
<h3><%=bean.getAge()%></h3>
<h3><%=bean.getName()%></h3>
</body>
</html>