```
package teacher;
import java.util.ArrayList;
import java.util.List;
import entity.Teacher;
/**
* 教師列表
*
* @author panjie
*
*/
public class Index {
// 教師列表 類型為List,每項均為Teacher。
private List<Teacher> teachers;
// V層在展示數據teachers的時候,將自動調用該方法
public List<Teacher> getTeachers() {
return teachers;
}
// 該execute方法將被自動調用, 方法的返回類型必須為String
public String execute() {
// 實例化兩個教師實體
Teacher zhangsanTeacher = new Teacher();
zhangsanTeacher.setName("zhangsan");
Teacher lisiTeacher = new Teacher();
lisiTeacher.setName("李四");
// List是一個接口。ArrayList是實現這個接口的一個類。我們通過ArrayList進行實例化.
teachers = new ArrayList<Teacher>();
// 將教師實體加入列表
teachers.add(zhangsanTeacher);
teachers.add(lisiTeacher);
// 顯示V層
return "success";
}
}
```
用戶提交數據時,自動調用了struts的setXXX\(\)方法。當顯示數據時,對應調用了getXXX\(\)方法。所以,要想使用V層能夠成功獲取到C層的數據,必須在C層中添加相應的getXXX\(\)方法。
# List 與 ArrayList
我們在第15行聲明了一個List類型。卻在方法中,使用ArrayList進行了實例化,現階段我們不去深入的探究List與ArrayList的區別,只需要知道,List是由ArrayList實例化得到的即可。
[http://stackoverflow.com/questions/2279030/type-list-vs-type-arraylist-in-java](http://stackoverflow.com/questions/2279030/type-list-vs-type-arraylist-in-java)
簡單來說,List是個接口。而ArrayList是一個類。我們可以對類進行實例化,從而得到一個對象。卻不能對接口進行實例化。而ArrayList實現了List這個接口,所以實例化ArrayList后得到的對象,是可以定義為List的。
- README
- 第一章:準備
- 第二章:Hello World!
- 第一節:查看工程文件
- 第二節:JDK、JRE與環境變量
- 第三節:index.jsp
- 第三章:Hello Struts
- 第一節:Web.xml
- 第二節:單入口
- 第三節:Hello Struts
- 第四節:觸發C層
- 第四章:建立數據表
- 第一節:建立實體類
- 第二節:測試一
- 第三節:測試二
- 第四節:引入Hibernate
- 第五節:配置Hibernate
- 第六節:建立連接
- 第七節:實體類映射數據表
- 第八節:完善數據表
- 第五章:教師管理
- 第一節:增加數據--add
- 第二節:增加數據--save
- 1 獲取傳入數據數據
- 2 數據寫入測試
- 3 對接C層
- 第三節:數據列表
- 1 獲取數據
- 2 重構代碼
- 3 C層對接--初始化
- 4 C層添加數據
- 5 V層顯示數據
- 6 獲取數據庫中數據
- 7 顯示性別
- 8 分頁
- 9 條件查詢
- 第四節:修改數據
- 1 edit
- 2 update
- 第五節:刪除數據
- 第六節:總結
- 第六章:重構C層
- 第一節:繼承ActionSupport類
- 第二節:數據驗證
- 第七章:前臺分離(前臺)
- 第一節:環境搭建
- 第二節:運行環境
- 第三節:共享開發環境
- 第四節:生產環境
- 第八章:前臺開發(前臺)
- 第一節:本地化
- 第二節:教師列表
- 1 引入M層
- 2 模擬后臺返回數據
- 3 C與M對接
- 4 C與V對接
- 第九章:前后臺對接(前后臺)
- 第一節:后臺輸出json(后臺)
- 第二節:對接前臺(全棧)
- 第二節:對接API(前臺)
- 第二節:跨域請求(后臺)
- 第三節:重構代碼(前臺)
- 第十章:重構后臺M層
- 第一節:數據訪問DAO層
- 第二節:項目整體重構
- 第十一章:用戶登陸(前后臺)
- 第一節:制定規范
- 第二節:定制測試用例
- 第三節:后臺輸入測試代碼(后臺)
- 第四節:postman(后臺)
- 第五節:新建用戶登陸模塊(前臺)
- 第六節:代碼重構(前臺)
- 第十二章:班級管理(前后臺)
- 第一節:班級列表
- 1 原型開發
- 2 制定規范
- 3 后臺對接開發
- 4 前臺對接開發
- 第二節:Add
- 1 原型開發
- 2 制定規范
- 3 后臺對接開發
- 4 前臺對接開發
- 第三節:Save
- 1 制定規范
- 2 后臺對接開發
- 3 前臺對接開發
- 第四節:Edit
- 1 原型開發
- 2 制定規范
- 3 后臺對接開發
- 4 前臺對接開發
- 第五節:Update
- 1 制定規范
- 2 后臺對接開發
- 3 前臺對接開發
- 第六節:Delete
- 1 制定規范
- 2 后臺對接開發
- 3 前臺對接開發
- 第七節:小結
- 第十三章:班級管理(API)
- 第一節:ER圖
- 第二節:create
- 1 實體層
- 2 dao層
- 3 service(server)層
- 4 action層
- 第三節:ManyToOne
- 第四節:Read
- 1 service(server)層
- 2 action層
- 第五節:update
- 1 service(server)層
- 2 action層
- 第六節:update
- 第十四章:重構服務層