1. 程式人生 > >JSP基礎:JavaBean

JSP基礎:JavaBean

        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>