|
2.7 车源管理模块设计 |
本模块使用的数据表:tb_car(车源信息表)
车源管理模块主要有如下4个功能。
车源查询:用于对车源信息的全部查询功能。
车源添加:用于对车源信息添加的功能。
车源修改:用于对车源信息修改的功能。
车源删除:用于对车源信息删除的功能。
车源管理主要就是对车源信息进行增、删、改、查的操作,首先我们知道了对应的数据库车源信息表是tb_car,因此需要创建一个对应的车源信息的实体JavaBean类,再通过Struts 2创建对应的车源管理的Action类来实现对车源信息的增、删、改、查控制。
在车源管理模块中,涉及的数据表是车源信息表(tb_car)。车源信息表中保存着车源各种信息,根据这些信息创建车源信息的FormBean,名称为CarForm,关键代码如下:
代码位置:光盘 \ MR\02\src\com\form\CarForm.java
在本实例中,车源管理的实现类名称为CarAction。该类继承CarForm类,可以使用CarForm类的属性和方法,而CarForm本身继承自MySuperAction类,可以使用MySuperAction类中的属性和方法。
CarAction类中可以使用CarForm类和MySupperAction类中的方法和属性。首先需要在该类静态方法中实例化车源模块的AdminDao类(该类用于实现与数据库的交互)。车源模块中实现类的关键代码如下:
代码位置:光盘 \ MR\02\src\com\webtier \CarAction.java
在创建完车源管理模块中实现类后,需要在struts.xml文件中进行配置,主要配置车源管理模块的请求结果。车源管理模块涉及的struts.xml文件的代码如下:
代码位置:光盘 \MR\01\src\struts.xml
上述代码中,<action>元素的name属性代表着请求的方式,在请求方式中“*”代表请求方式的方法,这与method属性的配置是相对应的,而class属性是请求处理类的路径。这段代码的意思是如果客户端请求的名称是“car_select.action”时,通过struts.xml文件的配置信息,请求的是CarAction类中的select()方法。
在<result>元素中,除了设置“success”和“input”两个返回值外,还设置了“operationSuccess”,其中,type属性设置转发页面的方法,这里将type属性设置成“redirect”,也就是重定向请求。即当执行控制器CarAction类中的某个方法时,如果返回“operationSuccess”,则根据struts.xml配置文件信息内容,将请求重定向,执行“car_queryCarList.action”方法(这个方法具有查询车辆信息的功能)。
1)编写车源信息查看页面
管理员登录后,单击“车源信息管理”超链接,进入到车源信息查询页面,在该页面中将分页显示车源信息。其中,每一页面显示2条记录,同时提供添加车源信息、修改车源信息和删除车源信息的超链接。车源信息查看页面的运行结果如图2.6所示。
图2.6 车源信息查看页面
如图2.6所示,该页面通过<s:set>标签获取车源信息所有的集合对象,通过Struts 2标签库中的<s:iterator>循环显示车源信息,该页面的关键代码如下:
代码位置:光盘 \ MR\02\WebRoot\.car _queryCarList.jsp
2)编写查看车源信息CarDao类的方法
查看车源信息使用的CarDao类的方法是queryCarList()。该方法首先设置了String类型的对象,如果这个对象的值为null,则执行对车源查询所有的数据;如果这个对象的值不为null,则执行的是复合查询的SQL语句。queryCarList()方法的关键代码如下:
代码位置:光盘 \ MR\02\src\com\dao \CarDao.java
1)车源添加页面
管理员登录系统后,单击“车源信息管理”超链接,进入到查看车源信息的页面,在该页面中单击“添加车源信息”超链接,进入到添加车源信息页面,该页面的运行结果如图2.7所示。
图2.7 车源添加页面
2)编写车源添加代码
如图2.7所示,在车源添加页面中,实现车源信息添加功能的是“car_insertCar”,根据struts.xml配置文件内容,车源添加调用的是CarAction类中的insertCar()方法,在执行该方法之前,需要对车源添加页面表单实现验证操作,也就是说,不允许客户端输入null或空字符串的操作。验证null或空字符串操作的方法名称为validateInsertCar(),该方法的关键代码如下:
代码位置:光盘 \ MR\02\src\com\webtier\CarAction.java
如果验证所有的表单信息成功,则执行insertCar()方法实现添加车源信息的操作,该方法首先将表单的内容对象设置成添加SQL语句的参数,之后调用CarDao类中的operationCar()实现添加车源信息的操作,该方法的关键代码如下:
代码位置:光盘 \ MR\02\src\com\dao \CarDao.java
3)编写添加车源信息的CarDao类的方法
添加车源信息类使用的CarDao类的方法是operationCar(),该方法将SQL语句作为这个方法参数,并执行该SQL语句,该方法的关键代码如下:
代码位置:光盘 \ MR\02\src\com\dao \CarDao.java
在上述代码中,返回值为boolean类型,根据这个boolean类型的结果判断该SQL语句是否执行成功。
1)车源信息修改页面
管理员登录后,单击“车源信息管理”超链接,进入到车源信息查询页面,在该页面中,如果管理员想要修改某个车源信息的数据,则单击该车源信息中的“修改”超链接,进入到修改车源信息的页面,该页面的运行结果如图2.8所示。
2)编写车源信息修改代码
图2.8 车源信息修改页面
如图2.8所示,在车源信息修改页面中,实现车源信息修改功能的是“car_updateCar”。根据struts.xml配置文件内容,车源修改调用的是CarAction类中的updateCar()方法,在执行该方法之前,需要对车源信息修改页面表单实现验证操作,也就是说,不允许客户端输入null或空字符串的操作。
如果验证所有的表单信息成功,则执行updateCar()方法实现修改车源信息的操作,该方法首先将表单的内容对象设置成修改SQL语句的参数,之后调用CarDao类中的operationCar()实现修改车源信息的操作,该方法的关键代码如下:
代码位置:光盘 \ MR\02\src\com\dao \CarDao.java
管理员登录系统后,单击“车源信息管理”页面,进入到车源信息查看页面,在该页面中,如果管理员想要删除某个车源信息,则单击该车源信息“删除”超链接,执行的是删除车源信息的操作。
在查看车源信息页面中可以找到删除车源信息超链接代码,代码如下:
代码位置:光盘 \ MR\02\WebRoot\.car _queryCarList.jsp
在上面的代码中,删除车源信息所调用的方法是CarAction类中的deleteCar()方法,在该方法中通过执行删除SQL语句,将指定的车源信息进行删除。deleteCar()方法的关键代码如下:
代码位置:光盘 \ MR\02\src\com\webtier\CarAction.java