🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` 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的。