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

來源:互聯網
上載者:User

標籤:pac   頁面   rate   編寫   blog   java代碼   source   多少   規範   

 

前提:在我們做程式時追求的是高內聚,低耦合,但是如果我們把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代碼分離的方式寫一個簡單的二維表

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.