ArticleAction.java
上传用户:yunfeng252
上传日期:2022-07-23
资源大小:12403k
文件大小:18k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package org.yufeng.struts.action;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import javax.servlet.http.HttpSession;
  6. import org.apache.struts.action.ActionForm;
  7. import org.apache.struts.action.ActionForward;
  8. import org.apache.struts.action.ActionMapping;
  9. import org.yufeng.domains.Article;
  10. import org.yufeng.domains.Assort;
  11. import org.yufeng.domains.Sort;
  12. import org.yufeng.utils.PageService;
  13. import org.yufeng.utils.Tools;
  14. public class ArticleAction extends BaseAction {
  15. // 显示文章
  16. public ActionForward article_show(ActionMapping mapping, ActionForm form,
  17. HttpServletRequest request, HttpServletResponse response) {
  18. HttpSession session = request.getSession();
  19. String ar_id = request.getParameter("ar_id");
  20. // 获得article的详细信息
  21. Article article = getArticleService().loadArticle(new Integer(ar_id));
  22. article.setAr_hits(article.getAr_hits()+1);
  23. getArticleService().updateArticle(article);
  24. // 获得article的类型
  25. Sort sort = getSortService().loadSort(article.getAr_sort_id());
  26. Assort assort = getAssortService()
  27. .loadAssort(article.getAr_assort_id());
  28. // 周月排行
  29. List article_week_list = getArticleService().browseArticle_Week();
  30. List article_month_list = getArticleService().browseArticle_Month();
  31. // 获得相关文章
  32. List article_about_list = getArticleService().browseAboutArticle(
  33. article.getAr_name());
  34. session.setAttribute("article", article);
  35. session.setAttribute("sort", sort);
  36. session.setAttribute("assort", assort);
  37. session.setAttribute("article_week_list", article_week_list);
  38. session.setAttribute("article_month_list", article_month_list);
  39. session.setAttribute("article_about_list", article_about_list);
  40. return mapping.findForward("article");
  41. }
  42. // 显示文章的子类别和文章,通过so_id
  43. public ActionForward article_show_bysort(ActionMapping mapping,
  44. ActionForm form, HttpServletRequest request,
  45. HttpServletResponse response) {
  46. HttpSession session = request.getSession();
  47. session.removeAttribute("search");
  48. String so_id = request.getParameter("so_id");
  49. List alllist = getArticleService().browseArticleBySo_id(
  50. new Integer(so_id));
  51. List assort_list = getAssortService().browseAllAssortById(
  52. new Integer(so_id));
  53. for(int i=0;i<assort_list.size();i++){
  54. Assort assort = (Assort)assort_list.get(i);
  55. assort.setAs_count(this.getArticleService().browseArticleByAs_id(assort.getAs_id()).size());
  56. }
  57. List ar_hit_list = getArticleService().browseArticleBySoHits(
  58. new Integer(so_id));
  59. PageService page = new PageService();
  60. // 设置请求分页号
  61. String pageId = request.getParameter("pageId");
  62. List article_list = page.getPage(pageId, 20, alllist);
  63. String footer = page.getPageFooter(request.getRequestURI(),
  64. "article_show_bysort&so_id=" + so_id);
  65. session.setAttribute("footer", footer);
  66. session.setAttribute("article_list", article_list);
  67. session.setAttribute("assort_list", assort_list);
  68. session.setAttribute("ar_hit_list", ar_hit_list);
  69. // 排序和查询所用参数
  70. session.setAttribute("so_id", so_id);
  71. session.setAttribute("as_id", "");
  72. session.setAttribute("flag", 3);
  73. session.setAttribute("flagg", 3);
  74. return mapping.findForward("article_show");
  75. }
  76. // 显示文章的子类别和文章,通过as_id
  77. public ActionForward article_show_byassort(ActionMapping mapping,
  78. ActionForm form, HttpServletRequest request,
  79. HttpServletResponse response) {
  80. HttpSession session = request.getSession();
  81. session.removeAttribute("search");
  82. String so_id = request.getParameter("so_id");
  83. String as_id = request.getParameter("as_id");
  84. List alllist = getArticleService().browseArticleByAs_id(
  85. new Integer(as_id));
  86. List assort_list = getAssortService().browseAllAssortById(
  87. new Integer(so_id));
  88. List ar_hit_list = getArticleService().browseArticleByAsHits(
  89. new Integer(as_id));
  90. PageService page = new PageService();
  91. // 设置请求分页号
  92. String pageId = request.getParameter("pageId");
  93. List article_list = page.getPage(pageId, 20, alllist);
  94. String footer = page.getPageFooter(request.getRequestURI(),
  95. "article_show_byassort&so_id=" + so_id + "&as_id=" + as_id);
  96. session.setAttribute("footer", footer);
  97. session.setAttribute("article_list", article_list);// 获得文章列表
  98. session.setAttribute("assort_list", assort_list);// 获得子类别列表
  99. session.setAttribute("ar_hit_list", ar_hit_list);// 热门assort排行列表
  100. session.setAttribute("as_id", as_id);
  101. session.setAttribute("so_id", so_id);
  102. session.setAttribute("flag", 4);
  103. session.setAttribute("flagg", 4);
  104. return mapping.findForward("article_show");
  105. }
  106. // 查找站内文章
  107. public ActionForward article_search(ActionMapping mapping, ActionForm form,
  108. HttpServletRequest request, HttpServletResponse response) {
  109. HttpSession session = request.getSession();
  110. String so_id = request.getParameter("so_id");
  111. String search = request.getParameter("search");
  112. // 删除session缓存
  113. session.removeAttribute("article_list");
  114. List ar_hits_list = null;
  115. List alllist = null;
  116. // 判断是否有so_id
  117. if (so_id.equals("0")) {
  118. alllist = getArticleService().browseArticleBysearch(0, search);
  119. ar_hits_list = getArticleService().browseArticleByHits();
  120. session.setAttribute("ar_hit_list", ar_hits_list);// 获得assort阅读排行
  121. session.setAttribute("search_by", "所有分类");// 用于显示查询的作用域sort_name
  122. } else {
  123. alllist = getArticleService().browseArticleBysearch(
  124. new Integer(so_id), search);
  125. ar_hits_list = getArticleService().browseArticleBySoHits(
  126. new Integer(so_id));// 获得子分类阅读排行
  127. List assort_list = getAssortService().browseAllAssortById(
  128. new Integer(so_id));// 获得子分类文章列表
  129. session.setAttribute("ar_hit_list", ar_hits_list);
  130. session.setAttribute("assort_list", assort_list);
  131. Assort assort = (Assort) assort_list.get(0);
  132. Sort sort = getSortService().loadSort(assort.getAs_sort_id()); // 用于显示查询的作用域sort_name
  133. session.setAttribute("search_by", sort.getSo_name()); //
  134. }
  135. session.setAttribute("flag", 2);
  136. session.setAttribute("flagg", 2);
  137. session.setAttribute("so_id", so_id);
  138. session.setAttribute("search", search);
  139. PageService page = new PageService();
  140. // 设置请求分页号
  141. String pageId = request.getParameter("pageId");
  142. List article_list = page.getPage(pageId, 20, alllist);
  143. String footer = page.getPageFooter(request.getRequestURI(),
  144. "article_search&so_id=" + so_id + "&search=" + search);
  145. session.setAttribute("footer", footer);
  146. session.setAttribute("article_list", article_list);
  147. session.setAttribute("search", search);
  148. return mapping.findForward("article_search");
  149. }
  150. // 后台查找文章
  151. public ActionForward admin_ar_search(ActionMapping mapping,
  152. ActionForm form, HttpServletRequest request,
  153. HttpServletResponse response) {
  154. HttpSession session = request.getSession();
  155. String search = request.getParameter("search");
  156. List article_list = getArticleService()
  157. .browseArticleBysearch(0, search);
  158. Article article = null;
  159. // 获得所有Article信息
  160. for (int i = 0; i < article_list.size(); i++) {
  161. article = (Article) article_list.get(i);
  162. // 获得文章的类别名称
  163. Sort sort = this.getSortService().loadSort(article.getAr_sort_id());
  164. article.setAr_sort_name(sort.getSo_name());
  165. // 获得文章子类别的名称
  166. Assort assort = this.getAssortService().loadAssort(
  167. article.getAr_assort_id());
  168. article.setAr_assort_name(assort.getAs_name());
  169. }
  170. session.setAttribute("article_list", article_list);
  171. return mapping.findForward("article_list_show");
  172. }
  173. // 推荐文章
  174. public ActionForward article_hot(ActionMapping mapping, ActionForm form,
  175. HttpServletRequest request, HttpServletResponse response) {
  176. HttpSession session = request.getSession();
  177. List article_list = (List) session.getAttribute("ar_show_list");
  178. // 获得阅读排行信息
  179. List ar_hit_list = getArticleService().browseArticleByHits();
  180. session.setAttribute("flag", 1);
  181. session.setAttribute("flagg", 1);
  182. session.setAttribute("article_list", article_list);
  183. session.setAttribute("ar_hit_list", ar_hit_list);
  184. return mapping.findForward("article_show");
  185. }
  186. // 根据hits排序
  187. public ActionForward article_order_by_ar_hits(ActionMapping mapping,
  188. ActionForm form, HttpServletRequest request,
  189. HttpServletResponse response) {
  190. // 指定跳转的forward
  191. String tourl = "article_show";
  192. // 获得所需参数
  193. HttpSession session = request.getSession();
  194. String so_id = request.getParameter("so_id");
  195. String as_id = request.getParameter("as_id");
  196. String search = (String)session.getAttribute("search");
  197. String flag = request.getParameter("flagg");
  198. List list = (List) session.getAttribute("article_list");
  199. // 排序
  200. list = getArticleService().browseArticleOrderByAr_Hits(so_id, as_id,
  201. search, flag, list);
  202. // 判断跳向哪个页面
  203. if (null != search) {
  204. tourl = "article_search";
  205. }
  206. session.setAttribute("article_list", list);
  207. // 设置参数值
  208. session.setAttribute("flagg", 5);
  209. return mapping.findForward(tourl);
  210. }
  211. // 根据creatTime排序
  212. public ActionForward article_order_by_ar_createTime(ActionMapping mapping,
  213. ActionForm form, HttpServletRequest request,
  214. HttpServletResponse response) {
  215. String tourl = "article_show";
  216. HttpSession session = request.getSession();
  217. String so_id = request.getParameter("so_id");
  218. String as_id = request.getParameter("as_id");
  219. String search = (String)session.getAttribute("search");
  220. String flag = request.getParameter("flag");
  221. List list = (List) session.getAttribute("article_list");
  222. list = getArticleService().browseArticleOrderByAr_CreateTime(so_id,
  223. as_id, search, flag, list);
  224. if (null != search) {
  225. tourl = "article_search";
  226. }
  227. if (flag.equals("1")) {
  228. List ar_hits_list = getArticleService().browseArticleByHits();
  229. session.setAttribute("ar_hits_list", ar_hits_list);
  230. } else if (flag.equals("2") && so_id.equals("0")) {
  231. List ar_hits_list = getArticleService().browseArticleByHits();
  232. session.setAttribute("ar_hits_list", ar_hits_list);
  233. } else if (flag.equals("2") && !so_id.equals("0")) {
  234. List ar_hits_list = getArticleService().browseArticleBySoHits(
  235. new Integer(so_id));
  236. session.setAttribute("ar_hits_list", ar_hits_list);
  237. } else if (flag.equals("3")) {
  238. List ar_hit_list = getArticleService().browseArticleBySoHits(
  239. new Integer(as_id));
  240. session.setAttribute("ar_hits_list", ar_hit_list);
  241. } else if (flag.equals("4")) {
  242. List ar_hit_list = getArticleService().browseArticleByAsHits(
  243. new Integer(as_id));
  244. session.setAttribute("ar_hits_list", ar_hit_list);
  245. }
  246. session.setAttribute("article_list", list);
  247. session.setAttribute("flag", 5);
  248. return mapping.findForward(tourl);
  249. }
  250. // 文章后台列表显示
  251. public ActionForward article_list_show(ActionMapping mapping,
  252. ActionForm form, HttpServletRequest request,
  253. HttpServletResponse response) {
  254. HttpSession session = request.getSession();
  255. PageService page = new PageService();
  256. String footer = "";
  257. List alllist = null;
  258. List ar_so_list = getSortService().browseSort();
  259. List ar_as_list = getAssortService().browseAssort();
  260. String so_id = request.getParameter("so_id");
  261. String as_id = request.getParameter("as_id");
  262. if (so_id != null) {
  263. alllist = getArticleService().browseArticleBySo_id(
  264. Integer.parseInt(so_id));
  265. } else if (as_id != null) {
  266. alllist = getArticleService().browseArticleByAs_id(
  267. Integer.parseInt(as_id));
  268. } else {
  269. alllist = getArticleService().browseArticle();
  270. }
  271. Article article = null;
  272. // 获得所有Article信息
  273. for (int i = 0; i < alllist.size(); i++) {
  274. article = (Article) alllist.get(i);
  275. // 获得文章的类别名称
  276. Sort sort = this.getSortService().loadSort(article.getAr_sort_id());
  277. article.setAr_sort_name(sort.getSo_name());
  278. // 获得文章子类别的名称
  279. Assort assort = this.getAssortService().loadAssort(
  280. article.getAr_assort_id());
  281. article.setAr_assort_name(assort.getAs_name());
  282. }
  283. // 设置请求分页号
  284. String pageId = request.getParameter("pageId");
  285. List article_list = page.getPage(pageId, 20, alllist);
  286. if (so_id != null) {
  287. footer = page.getPageFooter(request.getRequestURI(),
  288. "article_list_show&so_id=" + so_id);
  289. } else if (as_id != null) {
  290. footer = page.getPageFooter(request.getRequestURI(),
  291. "article_list_show&as_id=" + as_id);
  292. } else {
  293. footer = page.getPageFooter(request.getRequestURI(),
  294. "article_list_show");
  295. }
  296. session.setAttribute("footer", footer);
  297. session.setAttribute("article_list", article_list);
  298. session.setAttribute("ar_so_list", ar_so_list);
  299. session.setAttribute("ar_as_list", ar_as_list);
  300. return mapping.findForward("article_list_show");
  301. }
  302. // 后台管理界面
  303. public ActionForward article_manage(ActionMapping mapping, ActionForm form,
  304. HttpServletRequest request, HttpServletResponse response) {
  305. String tourl = "/article.do?method=article_list_show";
  306. String[] ar_checked = request.getParameterValues("GuResourceID");
  307. String ar_operate = request.getParameter("GuComm");
  308. if ("CommSortAsSort".equals(ar_operate)) {
  309. String ar_sort_id = request.getParameter("SortID_Select");
  310. String ar_assort_id = request.getParameter("AsSortID_Select");
  311. System.out.println(ar_sort_id);
  312. if ("".equals(ar_sort_id) || "".equals("ar_assort_id")) {
  313. tourl = "error";
  314. request.setAttribute("message", "操作失败,没有选择文章类别或分类名称");
  315. } else {
  316. getArticleService().updateAr_sort_assort(ar_checked,
  317. ar_sort_id, ar_assort_id);
  318. }
  319. } else if ("CommDateTime".equals(ar_operate)) {
  320. String ar_createTime = request.getParameter("Ar_DateTime");
  321. getArticleService().updateAr_DateTime(ar_checked, ar_createTime);
  322. } else if ("CommShow1".equals(ar_operate)) {
  323. getArticleService().updateAr_show(ar_checked, "1");
  324. } else if ("CommShow0".equals(ar_operate)) {
  325. getArticleService().updateAr_show(ar_checked, "0");
  326. } else if ("CommCommend".equals(ar_operate)) {
  327. String ar_commend = request.getParameter("Ar_Commend");
  328. if (ar_commend == null) {
  329. ar_commend = "0";
  330. }
  331. getArticleService().updateAr_commend(ar_checked, ar_commend);
  332. } else if ("CommReadClear".equals(ar_operate)) {
  333. getArticleService().updateAr_ReadClear(ar_checked);
  334. } else if ("CommDelete".equals(ar_operate)) {
  335. getArticleService().delArticle(ar_checked);
  336. }
  337. return new ActionForward(tourl);
  338. }
  339. // 显示后台预添加页面
  340. public ActionForward article_type_list(ActionMapping mapping,
  341. ActionForm form, HttpServletRequest request,
  342. HttpServletResponse response) {
  343. HttpSession session = request.getSession();
  344. // 查询所有分类
  345. List ar_so_list = getSortService().browseSort();
  346. List ar_as_list = getAssortService().browseAssort();
  347. session.setAttribute("ar_so_list", ar_so_list);
  348. session.setAttribute("ar_as_list", ar_as_list);
  349. // 添加type==1
  350. session.setAttribute("type", "1");
  351. return mapping.findForward("article_type_list");
  352. }
  353. // 显示后台添加页面
  354. public ActionForward article_add_show(ActionMapping mapping,
  355. ActionForm form, HttpServletRequest request,
  356. HttpServletResponse response) {
  357. HttpSession session = request.getSession();
  358. String so_id = request.getParameter("so_id");
  359. String as_id = request.getParameter("as_id");
  360. Article article = new Article();
  361. article.setAr_assort_id(new Integer(as_id));
  362. article.setAr_sort_id(new Integer(so_id));
  363. session.setAttribute("article", article);
  364. session.setAttribute("type", 1);
  365. return mapping.findForward("article_add_show");
  366. }
  367. // 添加和修改文章
  368. public ActionForward admin_add_article(ActionMapping mapping,
  369. ActionForm form, HttpServletRequest request,
  370. HttpServletResponse response) {
  371. HttpSession session = request.getSession();
  372. String type = request.getParameter("type");
  373. boolean flag = false;
  374. String tourl = "error";
  375. Article article = new Article();
  376. // 获得表单信息
  377. String ar_name = request.getParameter("ar_name");
  378. String ar_sort_id = request.getParameter("ar_sort_id");
  379. String ar_assort_id = request.getParameter("AsSortID_Select");
  380. String ar_commend = request.getParameter("ar_commend");
  381. String ar_shows[] = request.getParameterValues("ar_show");
  382. int ar_show = 0;
  383. if(null!=ar_shows){
  384. ar_show = 1;
  385. }
  386. String ar_author = request.getParameter("ar_author");
  387. String ar_email = request.getParameter("ar_email");
  388. String ar_content = request.getParameter("ar_content");
  389. // 1为添加,其余为修改
  390. if ("1".equals(type)) {
  391. // 封装表单信息
  392. article.setAr_name(ar_name);
  393. article.setAr_sort_id(new Integer(ar_sort_id));
  394. article.setAr_assort_id(new Integer(ar_assort_id));
  395. article.setAr_commend(new Integer(ar_commend));
  396. article.setAr_show(new Integer(ar_show));
  397. article.setAr_author(ar_author);
  398. article.setAr_email(ar_email);
  399. article.setAr_content(ar_content);
  400. article.setAr_hits(0);
  401. article.setAr_createTime(Tools.getData());
  402. flag = getArticleService().addArticle(article);
  403. if (flag) {
  404. tourl = "success";
  405. session.setAttribute("message", "文章添加成功!");
  406. } else {
  407. session.setAttribute("message", "文章添加失败!!!");
  408. }
  409. } else {
  410. int ar_id = Integer.parseInt(request.getParameter("ar_id"));
  411. Article article1 = getArticleService().loadArticle(ar_id);
  412. article1.setAr_name(ar_name);
  413. article1.setAr_sort_id(new Integer(ar_sort_id));
  414. article1.setAr_assort_id(new Integer(ar_assort_id));
  415. article1.setAr_commend(new Integer(ar_commend));
  416. article1.setAr_show(new Integer(ar_show));
  417. article1.setAr_author(ar_author);
  418. article1.setAr_email(ar_email);
  419. article1.setAr_content(ar_content);
  420. article1.setAr_modifyTime(Tools.getData());
  421. flag = getArticleService().updateArticle(article1);
  422. if (flag) {
  423. tourl = "success";
  424. session.setAttribute("message", "文章修改成功!");
  425. } else {
  426. session.setAttribute("message", "文章修改失败!!!");
  427. }
  428. }
  429. return mapping.findForward(tourl);
  430. }
  431. public ActionForward admin_article_show(ActionMapping mapping,
  432. ActionForm form, HttpServletRequest request,
  433. HttpServletResponse response) {
  434. HttpSession session = request.getSession();
  435. String ar_id = request.getParameter("ar_id");
  436. Article article = getArticleService().loadArticle(new Integer(ar_id));
  437. session.setAttribute("article", article);
  438. session.setAttribute("type", 2);
  439. return mapping.findForward("admin_article_show");
  440. }
  441. }