|
2.5 公共模块设计 |
在开发过程中,经常会用到一些公共类和相关的配置,因此,在开发网站前首先编写这些公共类及相应的配置文件代码。下面将具体介绍物流配货网所涉及的公共类和相应的配置文件代码的编写。
本实例使用的数据库持久化类的名称为JDBConnection.java。该类不仅提供了数据库的连接,还有根据数据库获取的Statement和ResultSet等,com.tool.JDBConnection类封装了关于数据库的各项操作,关键代码如下:
代码位置:光盘 \ MR\02\src\com\tools\JDBCConnection.java
本实例使用的对系统时间操作的类名称为CurrentTime。该类对时间的操作中存在获取当前系统时间的方法,具体代码如下:
代码位置:光盘 \ MR\02\src\com\tools\CurrentTime.java
在本实例中,分页Bean的名称为MyPagination。对结果集保存在List对象中的查询结果进行分页时,通常将用于分页的代码放在一个JavaBean中实现。下面将介绍如何对保存在List对象中的结果集进行分页显示。
首先编写用于保存分页代码的JavaBean,名称为MyPagination,保存在com.wy.core包中,并定义一个List类型对象list和3个int类型的变量,具体代码如下:
代码位置:光盘 \ MR\02\src\com\tools\MyPagination.java
在MyPagination类中添加一个用于初始化分页信息的方法getInitPage(),该方法包括3个参数,分别用于保存查询结果的List对象list,用于指定当前页面的int型变量Page和用于指定每页显示的记录数的int型变量pagesize。该方法的返回值为保存要显示记录的List对象。具体代码如下:
代码位置:光盘 \ MR\02\src\com\tools\MyPagination.java
在MyPagination类中添加一个用于获取指定页数据的方法getAppointPage(),该方法只包括一个用于指定当前页数的int型变量Page,该方法的返回值为保存要显示记录的List对象。具体代码如下:
代码位置:光盘 \ MR\02\src\com\tools\MyPagination.java
在MyPagination类中添加一个用于获取最大记录数的方法getMaxPage (),该方法无参数,其返回值为最大记录数。具体代码如下:
代码位置:光盘 \ MR\02\src\com\tools\MyPagination.java
在MyPagination类中添加一个用于获取总记录数的方法getRecordSize(),该方法无参数,其返回值为总记录数。具体代码如下:
代码位置:光盘 \ MR\02\src\com\tools\MyPagination.java
在MyPagination中添加一个用于获取当前页数的方法getPage(),该方法只有一个用于指定从页面中获取页数的参数,其返回值为处理后的页数。具体代码如下:
代码位置:光盘 \ MR\02\src\com\tools\MyPagination.java
在MyPagination类中添加一个用于输出记录导航的方法printCtrl(),该方法只有一个用于指定当前页数的参数,其返回值为输出记录导航的字符串。具体代码如下:
代码位置:光盘 \ MR\02\src\com\tools\MyPagination.java
在Struts 2的Action类中若要使用HttpServletRequest、HttpServletResponse类对象,必须使该Action类实现ServletRequestAware和ServletResponseAware接口。另外,如果仅仅是对会话进行存取数据的操作,则可实现SessionAware接口;否则可通过HttpServletRequest类对象的getSession()方法来获取会话。Action类继承了这些接口后,必须实现接口中定义的方法。
在本实例中,请求页面中元素类的名称为MySuperAction,该类实现了ServletRequestAware接口、ServletResponseAware接口和SessionAware接口,并继承了ActionSupport类。其关键代码如下:
代码位置:光盘 \ MR\02\src\com\tools\MySuperAction.java