接上,进行新闻发布系统的action设计,这一层直接与页面显示相关.经过分析,我设计了这么几种页面可能存在的调用方法.
- articleAction文章
1)保存文章,这是新闻系统中最基本的操作了,保存一篇文章.(在本系统中,涉及到文章分页的处理)
2)显示文章,将文章显示到页面上,同样涉及到文章页数的考虑
3)删除文章,这是第一次删除文章,也就是将文章放入回收站
4)还原文章,将第一次删除的文章,还原到原来的地方
5)彻底删除文章
6)修改文章,将文章调出来在修改页面进行显示,此处将各个分页面进行组合,传递给页面
7)修改文章,并对修改之后的文章进行保存
8)将文章置顶,给文章添加置顶对象,并更新文章
9)审核文章(审核或者取消审核),对添加的文章进行审核(只有经过审核的文章才能发布)
10)取消文章置顶批处理操作,将已置顶的文章(文章列表)删除其置顶属性
11)文章审核(或者取消审核)(批处理操作),将文章列表内的文章全部审核(取消审核)(传递给action的是文章列表articleList)
12)前台文章查询,查询指定目录下的文章(可级联查询),此处不显示删除文章
13)后台文章查询,查询指定目录下的文章(可级联查询),此处显示已删除文章
14)预览文章,在发表文章之前,可预览发表的文章
15)文章动态查询(根据文章标题,tags,以及文章摘要)进行文章的查询
16)查询被删除的文章
17)查询没有目录的文章(如管理员将某一目录删除了,则此目录下所有文章将丢失目录属性)
18)改变文章的目录,此操作主要为操作17设计.将文章指定到指定的目录下,(如剪贴操作) - categoryAction目录
1)保存目录
2)显示目录
3)更新目录
4)删除目录
5)显示一个目录的子目录
6)显示一个目录的目录链,此链从根目录开始一直到此目录
7)显示所有根目录
所有的操作都列举在此,相应代码我认为不会很复杂,只是其中涉及的参数可能比较繁多.因为采用struts2进行开发,以及采用hibernate并加上spring的openSessionInViewFilter,和struts2的数据验证,数据操作方面都比较简单.总的来说,struts2我确比struts1有了很大进步.我没怎么用过struts1,不过我想如果让我用struts1,我肯定不会很适应的(至少是现在).
因为一个action有很多方法,为避免用articleAction!showArticle.p(我把后缀改成了p)的调用方法,我在配置中,将各个调用方法进行了配置,对每一个方法采用不同的actionName进行调用.,相应操作可参考附件.
我把action放在附件中,有兴趣的同学可查看,并提出改进意见.