毕业论文 第5章 系统详细设计与实现
for(int i=0;i String answerer=((BbsAnswerForm)answerbbslist.get(i)).getBbsAnswerSender(); if(!answerMap.containsKey(answerer)){ params[0]=answerer; UserForm answerUser=myOp.OpUserSingleShow(sql, params); answerMap.put(answerer,answerUser); }} 在显示根贴时,若该帖子为普通贴子,则会显示“将贴子提前”、“置顶帖子”、“设为精华贴”、和“删除帖子”超链接;若为精华帖子,则只显示“删除帖子”超链接。触发相应的超链接会实现相应的功能,但对于“将帖子提前”和“删除帖子”只有管理员有权限进行操作。实现该JSP页面的关键代码如下。 (1) 显示根贴信息的关键代码如下 【主题】 href=\ootSingle.bbsSender}\ …//省略了显示发贴者其他信息的代码 【表情】 - 22 - 毕业论文 第5章 系统详细设计与实现 …//省略了显示生成其他链接的代码 (2) 显示回复贴的关键代码如下 href=\${answerMap[answererName].userName} 【表情】 5.1.6 发表帖子模块设计 发表帖子主要是为了互相讨论话题而设置的功能,它是论坛系统中的主要功能。通常情况下,需要在论坛中注册一个用户名,然后成功登录,用户才能在论坛中发表帖子。发表帖子页面的运行结果如图5.5所示。 - 23 - 毕业论文 第5章 系统详细设计与实现 图5.5 发表帖子页面的运行结果图 用户发表帖子的流程图如图5.6所示。 图5.6 发表帖子的流程图 否 用户登录 填写贴子信息 失败 表单验证 成功 发表帖子 是否登录 是 发贴 页面 开始 提交表单 发表帖子模块的实现过程如下: (1)首先创建一个用来封装根贴信息的ActionForm,该ActionForm继承ValidatorForm类,并覆盖了Validate()方法,其关键代码如下: - 24 - 毕业论文 第5章 系统详细设计与实现 public class BbsForm extends ValidatorForm { private String bbsId; private String bbsBoardID; private String bbsTitle; private String bbsContent; private String bbsSender; private String bbsFace=\private String bbsSendTime; private String bbsAnswerNum; private String bbsLastUpdateUser; private String bbsLastUpdateTime; private String bbsOpTime; private String bbsIsTop; private String bbsToTopTime; private String bbsIsGood; private String bbsToGoodTime; public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { String validate=request.getParameter(\ if(validate==null||validate.equals(\return null; else return super.validate(mapping, request); } …//省略了属性的setXXX()与getXXX()方法 } (2)创建发表帖子的页面。在该页面中,需要用户输入的信息有根贴标题、根贴表情的根贴内容,根贴表情在ActionForm类中被设置了face().gif默认值,所以在设置表单验证时,无须设置该表单字段的验证规则。在发表页面中还需要通过Struts标签输出表单验证失败后的提示信息,发表帖子页面的关键代码如下: <%@ include file=\ - 25 - 毕业论文 第5章 系统详细设计与实现 【内容】 (3)在validation.xml文件中编写验证发表帖子表单的验证代码,关键代码如下: - (4)配置Struts配置文件。在该文件中配置发表帖子表单被提交后的请求处理,配置代码如下: type=\ parameter=\ name=\ scope=\ validate=\ input=\ - 26 - 相关推荐:
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号