1. 程式人生 > >采用jsp頁面與java代碼分離的方式寫一個簡單的二維表

采用jsp頁面與java代碼分離的方式寫一個簡單的二維表

color arraylist 一個 3-9 業務 動態顯示 復雜 分層架構 方式

前提:在我們做程序時追求的是高內聚,低耦合,但是如果我們把jsp頁面的的代碼和java的代碼都放在了jsp的代碼編寫中,使java和jsp高耦合這樣的話不僅使jsp代碼頁面顯得很復雜,而且也特別讓不利於以後的維護,所以我們有了一個不成文的規範就是分層架構,把javad代碼與jsp的代碼分離開來,使jsp代碼頁中更加幹凈整潔。

下面我將於用jsp和java代碼分離的方法做出這樣的一個二維表(做一個jsp頁面動態顯示信息表)

技術分享

第一步:首先我們需要一個實體類用於存放一個人的一整條信息(根據表格信息有編號,名字,班級,籍貫)

a.我們先創建一個項目在這裏我就用student來命名項目名(項目名一般用全小寫)

技術分享

b.我們在student項目裏面再建一個包名字就叫entity(這裏面放的是實體類,也就是一個學生的信息)

c.在entity的包裏面建一個類,類名我就叫StudentInfo(學生信息的意思)

技術分享

d.接下來就是在這個類裏面寫代碼了先填寫屬性 和二維表的字段要一致

技術分享

然後對這些屬性進行封裝:把鼠標移到id那裏右鍵==》找到Source==>Generate Getters and Setters點擊進去就會有這樣的頁面

技術分享

然後就會自動對屬性進行封裝

技術分享

第二步:寫一個接口和實現接口的類

a.先建立一個包Service再建立一個接口類StudentService

技術分享

b.在StudentService接口裏面寫一個方法用於返回List<StudentInfo>

public interface StudentService {

//有多少個業務邏輯,就設計多少個方法

public List<StudentInfo> getAllStudents();

}

c.再從這個包裏面建立一個類StudentServiceImpl(用於實現接口的方法)

public class StudentServiceImpl implements StudentService {

      //裏面填寫業務邏輯代碼

   

    public List<StudentInfo> getAllStudents() {

    //存放所有學生信息的數據集合

      List<StudentInfo> stuList = new ArrayList<StudentInfo>();//創建List集合把所有學生的信息都放在集合裏面去

      //模擬從數據庫取出3條學生信息

      StudentInfo si1 = new StudentInfo();//每new一個StudentInfo類就代表一個學生的信息

      StudentInfo si2 = new StudentInfo();//這裏new了三個所以就有三個學生的信息

      StudentInfo si3 = new StudentInfo();

      si1.setId("1");//在第一個學生裏面添加編號

      si2.setId("2");//在第二個學生裏面添加編號

      si3.setId("3");//在第三個學生裏面添加編號

      si1.setName("李偉銘");//在第一個學生裏面添加名字

      si2.setName("王顯軍");//在第二個學生裏面添加名字

      si3.setName("大頭");//在第三個學生裏面添加名字

      

          si1.setClasses("140");//在第一個學生裏面添加班級

      si2.setClasses("140");//在第二個學生裏面添加班級

      si3.setClasses("140");//在第三個學生裏面添加班級

      si1.setClasses("火星");//在第一個學生裏面添加籍貫

      si2.setClasses("水星");//在第二個學生裏面添加籍貫

      si3.setClasses("土星");//在第三個學生裏面添加籍貫

    //把3個學生存放到List集合中去

    stuList.add(si1);

    stuList.add(si2);

    stuList.add(si3);

    return stuList;//返回List集合裏面的數據

}

}

第三步:編輯JSP頁面代碼

a.先創一個jsp頁面

b.在裏面填寫代碼

<table width="70%" boder="0" cellspacing="1" cellpadding="1" align="center" bgcolor="#F00">
<tr bgcolor="#FFFFFF">//先用HTML的代碼做出頁面

<td>編號</td>
<td>姓名</td>
<td>班級</td>
<td>籍貫</td>
</tr>
<%
StudentService stuService=new StudentServiceImpl();//用接口new對象(因為接口不能直接new對象所以)

//所以用接口的子類new對象stuService,就代表是接口

                                                //的實現類
List<StudentInfo> stuList=stuService.getAllStudents();//調用實現類的方法返回的是一個List<StudentInfo>
for(StudentInfo student:stuList){//利用遍歷的方法輸出學生信息的數據
%>
<tr bgcolor="#FFFFFF">
<td><%=student.getId()%></td>//然後把編號,姓名,班級,籍貫的信息放在表格裏
<td><%=student.getName()%></td>
<td><%=student.getClasses()%></td>
<td><%=student.getPlace()%></td>
</tr>
<%}%>
</table>

運行jsp頁面

技術分享

采用jsp頁面與java代碼分離的方式寫一個簡單的二維表