@SuppressWarnings("unchecked") @EipkRequest(value = "/s/article/edit", method = RequestMethod.POST, ajax = true) public AjaxData articleEditPost(Model m) { Map<String, Object> user = (Map<String, Object>) m.getSessionPar("loginUser"); int article_id = SysUtil.StrToInt(m.getPar("article_id")); int section_id = SysUtil.StrToInt(m.getPar("section_id")); String pub_unit = m.getPar("pub_unit"); String pub_date = m.getPar("pub_date"); String doc_id = m.getPar("doc_id"); String title = m.getPar("title"); String content = m.getPar("content"); String sql = ""; DB db = new DB(); if (article_id == 0) { sql = "insert into t_article (pubUnit,pubDate,docId,sectionId,title,hits,userId,content) values (?,?,?,?,?,0,?,?)"; db.execute( sql, pub_unit, pub_date, doc_id, section_id, title, (Integer) user.get("id"), content); } else { sql = "update t_article set pubUnit=?,pubDate=?,docId=?,sectionId=?,title=?,content=? where id=?"; db.execute(sql, pub_unit, pub_date, doc_id, section_id, title, content, article_id); } db.close(); return null; }
@EipkRequest("/s/article/show") public String articleShowGet(Model m) { int article_id = SysUtil.StrToInt(m.getPar("article_id")); if (article_id != 0) { DB db = new DB(); String sql = "select s.sectionName,a.pubUnit,a.pubDate,a.docId,a.title,a.content from t_article a,t_section s where a.sectionId=s.id and a.id=?"; Map<String, Object> article = db.querySingle(sql, article_id); sql = "select f.id,f.fileName,f.fileSize from t_appendix a,t_file f where a.fileId=f.id and a.articleId=? order by a.id"; List<Map<String, Object>> file_list = db.query(sql, article_id); db.close(); m.setAttr("article", article); m.setAttr("file_list", file_list); } else { m.setAttr("sectionName", ""); m.setAttr("pubUnit", ""); m.setAttr("pubDate", ""); m.setAttr("docId", ""); m.setAttr("title", ""); m.setAttr("content", ""); } m.setAttr("article_id", article_id); return ""; }
@EipkRequest(value = "/s/article/del", method = RequestMethod.POST, ajax = true) public AjaxData articleDelPost(Model m) { int article_id = SysUtil.StrToInt(m.getPar("article_id")); String sql = "delete from t_article where id=?"; DB db = new DB(); db.execute(sql, article_id); db.close(); return null; }
@EipkRequest("/s/article/man") public String articleMan(Model m) { String search_where = ""; if (SysUtil.StrToInt(m.getPar("clear")) == 0) { search_where = m.getSessionPar("search_where") != null ? (String) m.getSessionPar("search_where") : ""; } else { int search_section = SysUtil.StrToInt(m.getPar("search_section")); String search_article_title = m.getPar("search_article_title"); if (search_section != 0) { search_where += " and sectionId=" + search_section; } if (!search_article_title.equals("")) { search_where += " and title like '%" + search_article_title + "%'"; } } m.setSessionPar("search_where", search_where); String sql = ""; DB db = new DB(); sql = "select id,sectionName from t_section order by id"; List<Map<String, Object>> section_list = db.query(sql); sql = "select count(*) as num from t_article a,t_section s where a.sectionId=s.id " + search_where; int total = SysUtil.StrToInt("" + db.querySingle(sql).get("num")); int pagth = SysUtil.StrToInt(m.getPar("pagth")); int start = SysUtil.getSplitPageStartId(total, SysUtil.PAGE_SIZE, pagth); sql = "select a.id,a.pubDate,s.sectionName,a.title,a.hits from t_article a,t_section s where a.sectionId=s.id " + search_where + " order by pubDate desc limit ?,?"; List<Map<String, Object>> article_list = db.query(sql, start, SysUtil.PAGE_SIZE); db.close(); m.setAttr( "split_page_str", SysUtil.getSplitPageStr(m.getRequest(), total, SysUtil.PAGE_SIZE, pagth)); m.setAttr("section_list", section_list); m.setAttr("article_list", article_list); return ""; }
@EipkRequest("/s/article/edit") public String articleEditGet(Model m) { int article_id = SysUtil.StrToInt(m.getPar("article_id")); DB db = new DB(); String sql = "select id as section_id,sectionName from t_section order by id"; List<Map<String, Object>> section_list = db.query(sql); if (article_id > 0) { sql = "select id,pubUnit,pubDate,docId,sectionId,title,content from t_article where id=?"; Map<String, Object> article = db.querySingle(sql, article_id); m.setAttr("article", article); } else { m.setAttr("id", 0); m.setAttr("pubUnit", ""); m.setAttr("pubDate", new Date()); m.setAttr("docId", ""); m.setAttr("sectionId", 0); m.setAttr("title", ""); m.setAttr("content", ""); } db.close(); m.setAttr("section_list", section_list); return ""; }
@Override public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String Request_Url = request .getRequestURI() .substring(request.getContextPath().length(), request.getRequestURI().length() - 2); String Request_Method = request.getMethod().toUpperCase(); RequestHandler handler = eipkMvcLoader.getRequestHandler(Request_Url, Request_Method); if (handler != null) { Method method = handler.getMethod(); Object eipkControllerBean = eipkMvcLoader.getBean(handler.getEipkControllerClass()); try { method.setAccessible(true); Object result = method.invoke(eipkControllerBean, new Model(request)); log.log( Level.INFO, "Eipk Controller " + handler.getEipkControllerClass().getName() + "." + handler.getMethod().getName() + "() invoked,url:" + Request_Url); if (handler.isAjax()) { System.out.println("我在调度器…是AJAX"); AjaxData ajaxData; if (result == null) { ajaxData = new AjaxData(new HashMap<String, Object>()); System.out.println("我在调度器……result为空"); } else { ajaxData = (AjaxData) result; } Object model = ajaxData.getModel(); response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); if (model != null) { String json = SysUtil.ObjToJson(model); byte[] buff = json.getBytes(); response.setContentLength(buff.length); response.getOutputStream().write(buff); System.out.println("我在调度器……model不为空"); } } else { System.out.println("我在调度器……不是ajax"); String view = (String) result; if (view.indexOf(".x") > 0) { response.sendRedirect(request.getContextPath() + view); System.out.println("我有.x我跳转了"); } else { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); Renderer renderer = new Renderer(response, request, view); renderer.render(); System.out.println("我没有.x我转向其他区域"); } } } catch (Exception e) { System.out.println("我怎么到了这里"); log.log( Level.INFO, "Eipk Controller " + handler.getEipkControllerClass().getName() + "." + handler.getMethod().getName() + "() invoke failed,url:" + Request_Url); System.out.println("出错了小伙子"); e.printStackTrace(); } } else { log.log(Level.INFO, "未找到匹配的控制器方法[" + Request_Url + "]"); response.sendRedirect(request.getContextPath() + "/err.x?id=1"); } }
@EipkRequest(value = "/s/article/upload", method = RequestMethod.POST, ajax = true) public AjaxData articleUploadFile(Model m) { Map<String, Object> result = new HashMap<String, Object>(); String savePath = m.getRequest().getServletContext().getRealPath("/upload/"); File saveDirFile = new File(savePath); if (!saveDirFile.exists()) { saveDirFile.mkdirs(); } FileItemFactory fac = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(fac); upload.setHeaderEncoding("utf-8"); List<?> fileList = null; try { fileList = upload.parseRequest(m.getRequest()); } catch (FileUploadException e) { e.printStackTrace(); return null; } Iterator<?> par_itr = fileList.iterator(), file_itr = fileList.iterator(); while (par_itr.hasNext()) { FileItem item = (FileItem) par_itr.next(); if (item.isFormField()) { try { String par_name = item.getFieldName(); BufferedReader br; br = new BufferedReader(new InputStreamReader(item.getInputStream())); if (par_name != null) { result.put(par_name, br.readLine()); } br.close(); } catch (IOException e) { e.printStackTrace(); } } } while (file_itr.hasNext()) { FileItem item = (FileItem) file_itr.next(); String fileName = item.getName(); if (!item.isFormField()) { try { int index = fileName.lastIndexOf("\\"); if (index != -1) { fileName = fileName.substring(index + 1); } result.put("fileName", fileName); result.put("fileType", fileName.substring(fileName.lastIndexOf(".") + 1)); String file_disk_name = java.util.UUID.randomUUID().toString(); fileName = file_disk_name + fileName.substring(fileName.lastIndexOf(".")); File uploadedFile = new File(savePath, fileName); item.write(uploadedFile); result.put("fileSize", SysUtil.FileSizeStr(item.getSize())); result.put("fileDiskName", file_disk_name); } catch (Exception e) { e.printStackTrace(); } } } DB db = new DB(); String sql = "insert into t_file (fileName,fileDiskName,fileSize,fileType) values (?,?,?,?)"; int file_id = db.execute( sql, result.get("fileName"), result.get("fileDiskName"), result.get("fileSize"), result.get("fileType")); sql = "insert into t_appendix (articleId,fileId) values (?,?)"; db.execute(sql, SysUtil.StrToInt("" + result.get("article_id")), file_id); db.close(); return new AjaxData(result); }