📄 newslistcontroller.java
字号:
package com.pure.web.spring.manager.news;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import com.pure.domain.News;
import com.pure.domain.logic.NewsFacade;
import com.pure.page.Page;
import com.pure.page.PageHelper;
import com.pure.sys.Constant;
import com.pure.util.ParamUtil;
import com.pure.util.PureUtil;
/**
* 新闻管理控制器
*
* @author pure
*
*/
public class NewsListController implements Controller {
protected final Log logger = LogFactory.getLog(getClass());
private NewsFacade newsFacade;
private String successView;
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String action = ParamUtil.getString(request, "curAction", "");
if ("del".equals(action)) {
delNews(request);
}
return newsList(request);
}
/**
* 新闻列表
*
* @param request
* @return
*/
private ModelAndView newsList(HttpServletRequest request) {
HttpSession session = request.getSession();
String contextPath = request.getContextPath();
String totalHql = "select count(id) from News";
String hql = "from News as news left join fetch news.newssort order by news.id desc";
String realPath = session.getServletContext().getRealPath("/");
String templatePath = Constant.TEMPLATEPATH;
String templateName = Constant.TEMPLATENAME;
String url = "admin/news/newsList.jspx";
int perPage = 10;
int cPage = ParamUtil.getInt(request, "page", 1);
int total = this.getNewsFacade().getTotal(totalHql);
PageHelper pageHelper = new PageHelper(request);
perPage = pageHelper.doCustomPerPage(perPage);
Page page = new Page();
page.setPerPage(perPage);
/**
* 此处处理页码为负数、大于总页数、删除最后一页数据后应转向最后一页的页码-1、页码非数字
*/
cPage = pageHelper.getCpage(total, perPage, cPage);
page.setPage(cPage);
page.setRealPath(realPath);
page.setPageTemplatePath(templatePath);
page.setPageTemplate(templateName);
page.setHql(hql);
page.setTotal(total);
page.setContextPath(contextPath);
page.setUrl(url);
page.setStartRs((cPage - 1) * perPage);
Map model = new HashMap();
model.put("newsList", this.getNewsFacade().getNewsList(page));
model.put("page", pageHelper.getPageBreakStr(page));
return new ModelAndView(this.successView, model);
}
/**
* 根据选择批量删除新闻
*
* @param request
*/
private void delNews(HttpServletRequest request) {
HttpSession session = request.getSession();
String realPath = session.getServletContext().getRealPath("/");
String[] ids = request.getParameterValues("id");
if (null != ids)
for (int i = 0; i < ids.length; i++) {
News news = this.getNewsFacade().getNews(Integer.parseInt(ids[i]));
//删除与此相关的静态文件及上传的文件资源
PureUtil.delFile(realPath+news.getFilename());
PureUtil.delUploadFile(news.getNewscontent(),realPath+Constant.UPLOADPATH);
//删除数据库中的记录
this.getNewsFacade().delNews(Integer.parseInt(ids[i]));
}
}
public void setSuccessView(String successView) {
this.successView = successView;
}
public NewsFacade getNewsFacade() {
return newsFacade;
}
public void setNewsFacade(NewsFacade newsFacade) {
this.newsFacade = newsFacade;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -