购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.9 后台信息管理设计

1.9.1 信息管理功能概述

根据需求分析,后台信息的管理功能主要包括信息显示、信息审核、信息删除和信息付费设置。下面分别介绍后台信息管理中的各功能。

1.信息显示功能介绍

后台信息显示功能,分为信息的列表显示和详细内容显示。列表显示的信息由管理员选择的状态类型决定。显示状态分为付费状态和审核状态两种,如图1.17所示。

管理员在状态区域中选择显示方式,并在“信息类别”下拉列表框中选择要显示信息的信息类别,单击“显示”按钮提交表单,则程序会按照该显示方式列表显示出符合条件的所有信息,如图1.18所示。

图1.17 显示方式

图1.18 列表显示信息

当用户单击列表显示出的信息的标题或“审核”超链接后,将显示该信息的详细内容。

2.信息审核功能介绍

用户发布信息后,并不能直接显示在页面中,需要由管理员来审核该信息是否可以发布。要进行信息审核,首先需要显示出“未审核”的信息。可从后台主页右侧的功能区的“显示方式”栏中选择“付费状态”为“全部”,“审核状态”为“未审核”的显示方式,并在“信息类别”下拉列表框中选择信息类别,如图1.19所示,单击“显示”按钮,则显示该类别下的所有未审核信息。

图1.19 显示未审核信息

接下来单击要审核信息的标题或“审核”超链接,进入信息审核页面,如图1.20所示。

图1.20 信息审核页面

在该页面中查看信息详细内容,单击“通过审核”按钮,即可将该信息设置为已通过审核状态。信息审核成功后,会按照之前已选择的显示方式,重新进行查询并显示结果。

3.信息删除功能介绍

信息删除用来删除一些发布的无效信息,从图1.18可以看到,在每条信息的操作栏中,都提供了一个“删除”超链接,单击该超链接,即可删除对应的信息。另外,也可以通过图1.20所示信息审核页面中的“删除信息”按钮来实现删除操作。信息删除成功后,同样会按照之前已选择的显示方式,重新进行查询并显示结果。

4.信息付费管理功能概述

付费管理即将信息设置为“已付费”状态。对于已付费的信息在前台页面显示时,始终显示在页面的顶部位置,以便第一时间被浏览。在本系统中,用户在前台发布的信息,默认都是免费信息。若想将发布的信息在“缴费专区”中显示,信息发布者首先需要缴纳费用,然后提供信息的ID值,由系统管理员根据该ID值查询信息,最后将该信息设置为“已付费”状态。需要信息发布者提供的ID值,是在信息发布成功后,由系统提供给用户的。

管理员要进行付费设置,首先需要登录到后台,然后在功能区的“付费设置”栏中输入要进行付费设置的ID值,查询出该信息,如图1.21所示。单击“设为付费”按钮,可将该信息设置为“已付费”状态。

图1.21 付费设置页面

1.9.2 信息管理技术分析

1.信息显示技术分析

对于后台信息显示中的列表显示,主要用来显示符合指定条件的信息,该条件包括信息类别、付费状态和审核状态。

在数据表tb_info的设计中,设置了info_payfor和info_state两个字段,分别用来表示“付费状态”与“审核状态”。当info_payfor字段内容为1时,表示该信息已付费,为0时表示未付费;同样,info_state字段内容为1时,表示已通过审核,为0时表示未通过审核。

所以,若要显示招聘信息类别下的“未审核”和“已付费”的信息,应执行如下的SQL语句:

若要显示培训信息类别下的“未审核”和“未付费”的信息,应执行如下的SQL语句:

因此,要获取符合条件的信息,只需要设置字段info_type、info_state和info_payfor的值即可。

本系统提供了两组单选按钮组成了“付费状态”和“审核状态”选项。对于“付费状态”选项组,选择“未付费”,则传递的值为“0”;选择“已付费”,则传递的值为“1”;若选择“全部”,则传递all。“审核状态”选项组的设置与此相同。另外,实现了一个下拉列表框,供用户选择信息类别。将这些单选按钮与下拉列表框都在一个表单中实现,这样,当单击“显示”按钮提交表单后,选择的状态会通过表单进行传递。可创建一个JavaBean来封装表单数据,即保存选择的状态。

例如,按照如图1.22所示的方式进行选择,则提交表单后请求中将添加如下参数:

图1.22 选择显示方式

其中showType为封装表单数据的JavaBean实例,payforType为该JavaBean中保存“付费状态”的属性,stateType为保存“审核状态”的属性,infoType为保存“信息类别”的属性。

Action处理类接收表单请求后,获取表单数据:

然后生成SQL语句:

语句中的“?”最终将依次被设置为变量infoType、stateType和payforType的值。

对于后台信息显示中的详细内容显示,只需要获取要查看信息的ID值,然后通过如下的SQL语句查询数据表来实现:

2.信息审核技术分析

对于信息审核,实现该功能的主要技术就是执行SQL语句更新数据表。首先需要获取信息的ID值,然后生成如下SQL语句:

其中id字段的值将通过表单中的隐藏域字段进行传递,在Action处理类中可通过如下代码获取:

最后执行该SQL语句更新数据表,完成信息审核操作。

3.信息删除技术分析

与信息审核技术的实现相同,首先获取信息的ID值,然后通过执行SQL语句来实现。该SQL语句如下:

其中id字段的值将通过表单中的隐藏域字段进行传递,在Action处理类中可通过如下代码获取:

最后执行该SQL语句更新数据表,完成信息删除操作。

4.信息付费设置技术分析

付费管理技术主要就是执行SQL语句更新数据表,将信息的付费状态设置为“已付费”。该SQL语句如下:

其中id字段的值将通过表单进行传递,在Action处理类中可通过如下代码获取:

最后执行该SQL语句更新数据表,完成信息付费设置操作。

1.9.3 信息显示实现过程

后台信息显示用到的数据表:tb_info。

1.在侧栏对应的right.jsp页面中编写实现显示方式的代码

根据信息显示功能的介绍及信息显示的技术分析,在right.jsp页面中编写如下代码:

代码位置:光盘 \MR\01\WebRoot \pages\view\right.jsp

代码中用到了Struts 2.0中的radio标签,其用法与select标签的使用相同。

2.创建JavaBean:AdminShowType

根据信息显示的技术分析,需要创建一个JavaBean来保存显示方式中的选择状态,实际上就是用来封装表单数据。关键代码如下:

代码位置:光盘 \MR\01\src\com\yxq\model\AdminShowType.java

3.在AdminAction类中实现处理后台信息列表显示的方法

AdminAction类用来处理后台管理员请求的操作,其中后台信息列表显示的请求是在该类中的ListShow()方法中处理的,在该方法中,首先需要获取管理员选择的显示方式,所以在调用该方法之前,需要验证管理员是否选择了显示方式及信息类别,可创建validateListShow()验证方法实现,其代码可查看本书附带光盘。下面介绍ListShow()方法的实现代码。

代码位置:光盘 \MR\01\src\com\yxq\action\AdminAction.java

然后通过判断是否选中“付费状态”与“审核状态”中的“全部”单选按钮来生成相应的SQL语句。实现代码如下:

代码位置:光盘 \MR\01\src\com\yxq\action\AdminAction.java

关键代码解析

❶没有同时选中“付费状态”与“审核状态”的“全部”单选按钮。

❷同时选中了“付费状态”与“审核状态”的“全部”单选按钮。

❸选中了“付费状态”中的“全部”单选按钮,“审核状态”任意。

❹选中了“审核状态”中的“全部”单选按钮,“付费状态”任意。

以上代码中加粗的SQL语句用来查询符合条件的第一页所包含的记录,其中变量perR表示每页显示的记录数。

接着获取存储分页信息的CreatePage类对象。实现代码如下:

代码位置:光盘 \MR\01\src\com\yxq\action\AdminAction.java

接下来判断用户访问的页码是否为第一页,若不是,则生成查询其他页记录的SQL语句。实现代码如下:

代码位置:光盘 \MR\01\src\com\yxq\action\AdminAction.java

最后查询数据库,获取符合条件的在当前页中显示的信息。实现代码如下:

代码位置:光盘 \MR\01\src\com\yxq\action\AdminAction.java

4.配置cityinfo.xml文件

本系统中所有访问后台操作的请求,都将其访问路径设置为admin_xxx.action,然后在cityinfo.xml配置文件中,将该路径模式与AdminAction后台处理类进行指定,这样所有访问admin_*.action的请求都会由AdminAction类进行处理。其配置代码如下:

代码位置:光盘 \MR\01\WebRoot \WEB-INF\classes\cityinfo.xml

5.创建显示信息的JSP文件

在获取了符合条件的信息后,应返回JSP页面进行显示。其关键代码如下:

代码位置:光盘 \MR\01\WebRoot \pages\admin\info\listshow.jsp

关键代码解析

❶ set标签用来为变量赋值,并将该变量保存到指定范围内。其中,name属性指定变量名,value属性指定变量值,代码中value的属性值#request.adminlistshow等价于request.getAttribute("adminlistshow");可通过scope属性指定变量的存储范围,可选值为application、session、request、page和action。

❷注意,该property标签并不是输出字符串id,而是输出当前遍历出的元素的getId()方法返回的值。

1.9.4 信息付费设置实现过程

信息付费设置用到的数据表:tb_info。

根据信息付费设置功能介绍,进行信息付费设置操作,需要先查询出要进行付费设置的信息,在页面中显示要进行付费设置信息的详细内容,然后管理员通过单击“设为付费”按钮,完成信息付费设置操作。实际上,信息付费设置的实现与信息审核的实现是相同的,只不过在查询被操作的信息时,信息审核操作的实现,是将要查询信息的ID值在超链接中传递,而信息付费设置需要管理员向表单中输入信息ID值,然后提交表单进行传递。下面介绍信息付费设置的实现过程。

1.在侧栏对应的right.jsp页面中编写实现付费设置页面的代码

该编码要实现一个表单,在表单中提供一个文本输入框和一个提交按钮,文本输入框用来接收管理员输入的信息ID值。实现代码如下:

代码位置:光盘 \MR\01\WebRoot\pages\admin\view\right.jsp

代码中${param['moneyID']}为JSP的EL表达式,它表示获取请求中名为moneyID的参数的值,也可以写成${param.moneyID}形式。

根据在cityinfo.xml文件中对admin_*.action的配置,上述代码实现的表单被提交后,将由AdminAction类中的SetMoneyShow()方法进行处理。

2.在AdminAction类中创建SetMoneyShow()方法

该方法用来显示要进行付费设置的信息的详细内容。在该方法中,首先需要获取通过表单传递的信息ID值,然后生成查询SQL语句,最后调用业务处理对象的OpSingleShow()方法返回封装信息的InfoSingle类对象。在此之前,需要验证是否输入了信息的ID值和ID值是否为数字格式,该验证可在validateSetMoneyShow ()方法中实现,具体代码可查看本书附带光盘。SetMoneyShow()方法的关键代码如下:

代码位置:光盘 \MR\01\src\com\yxq\action\AdminAction.java

3.创建显示付费信息的JSP页面

该页面的编码与显示审核信息的JSP页面的编码相同,其关键代码如下:

代码位置:光盘 \MR\01\WebRoot\pages\admin\info\moneyshow.jsp

4.在AdminAction类中创建付费设置的SetMoney ()方法

SetMoney ()方法将实现付费设置的操作。在该方法中,首先获取表单中传递的信息ID值,然后生成SQL语句,最后调用业务处理对象的OpUpdate ()方法实现付费设置的操作。关键代码如下:

代码位置:光盘 \MR\01\src\com\yxq\action\AdminAction.java yUqfsqQIpnW1XIG51ZsbOfzhL61OdlfR5sRWzJilD2ByYwYXeT7g4ZM8Il+QmIeM

点击中间区域
呼出菜单
上一章
目录
下一章
×