package com.tencent.servlet; import java.io.IOException; import java.io.PrintWriter; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import javax.annotation.Resource; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import com.tencent.service.IProjectService; import com.tencent.util.Pager; public class ToGalledyServlet extends HttpServlet { public static Logger log = Logger.getLogger(ToGalledyServlet.class); private static final long serialVersionUID = 331735636907892900L; @Resource private IProjectService projectService; public void setProjectService(IProjectService projectService) { this.projectService = projectService; } public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { try { String type = req.getParameter("type"); int pageNo = Integer.parseInt(req.getParameter("pageNo")); PrintWriter out = resp.getWriter(); StringBuffer content = new StringBuffer(); resp.setContentType("text/xml"); resp.setHeader("Cache-Control", "no-cache"); content.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"); int rowCount = projectService .getRowCount("Project j left join j.team t where t.type=" + type); int pageSize = 12; int pageCount = (rowCount % pageSize == 0) ? (rowCount / pageSize) : (rowCount / pageSize + 1); int firstResult = (pageNo - 1) * pageSize; content.append("<pageCount>"+pageCount+"</pageCount>"); content.append("<pageNo>"+pageNo+"</pageNo>"); content.append("<firstResult>"+firstResult+"</firstResult>"); @SuppressWarnings("unchecked") List<Object[]> result = (List<Object[]>) projectService .list("select b.image,b.name,b.startDate from Blog b where b.type=? order by b.publishDate desc", firstResult, 12, type); content.append("<member>"); DateFormat format = new SimpleDateFormat("dd-MM-yyyy"); for (int i = 0; i < result.size(); i++) { Object[] object = result.get(i); content.append("<image>"+(String)object[0]+"</iamge>"); content.append("<name>"+(String)object[1]+"</name>"); content.append("<date>"+format.format((Date)object[2])+"</date>"); } content.append("</member><page>"); Pager pager = new Pager(); int[] arrayPage = pager.initArrayPage(pageNo, pageCount); for(int i:arrayPage){ content.append("<param>"+i+"</param>"); } content.append("</page>"); out.print(content); } catch (Exception e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }