📄 shownewsaction.java
字号:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.onlinestudy.action;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.onlinestudy.domain.News;
import com.onlinestudy.domain.NewsClasses;
import com.onlinestudy.service.NewsService;
/**
* MyEclipse Struts
* Creation date: 01-15-2009
*
* XDoclet definition:
* @struts.action parameter="status" validate="true"
*/
public class ShowNewsAction extends DispatchAction {
NewsService nsc;
//显示新闻主页面
public ActionForward newsIndexPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
//按类查找
List newsClassesList = nsc.selectNewsClasses();
for(int i = 0; i<newsClassesList.size(); i++){
int id = ((NewsClasses)newsClassesList.get(i)).getId();
String hql = "from News as n where n.classes.id="+id+" order by date desc";
int offset = 0;
int length = 8;
List list = nsc.selectNewsByClass(hql, offset, length);
request.setAttribute("list_"+i, list);
}
request.setAttribute("newsClassesList", newsClassesList);
//最新新闻
String hql = "from News order by date desc";
int offset = 0;
int length = 10;
List latestNews = nsc.selectNewsForPage(hql, offset, length);
request.setAttribute("latestNews", latestNews);
ActionForward forward= new ActionForward("NewsView");
return forward;
}
//显示分类新闻页面
public ActionForward newsForPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
//按类查找
int id =Integer.parseInt(request.getParameter("id")) ;
String newsClassName = nsc.selectNewsClassesById(id).getName();
int currentPage = 1;
currentPage = Integer.parseInt(request.getParameter("nextpage"));
int totalNews = nsc.selectAllNewsId("select id from News as n where n.classes.id="+id);
int length = 20; //读取数据记录数
String hql = "from News as n where n.classes.id="+id+" order by date desc";
int totalPages = (totalNews-1)/length+1;
if(currentPage < 1){
currentPage = 1;
}
if(currentPage > totalPages){
currentPage = totalPages;
}
int offset = (currentPage-1)*length; //开始取数据的下标
List list = nsc.selectNewsForPage(hql, offset, length);
List newsClassesList = nsc.selectNewsClasses();
request.setAttribute("totalNews", Integer.toString(totalNews));
request.setAttribute("totalPages", Integer.toString(totalPages));
request.setAttribute("currentPage", Integer.toString(currentPage));
request.setAttribute("list", list);
request.setAttribute("newsClassName",newsClassName );
request.setAttribute("newsClassesList", newsClassesList);
ActionForward forward= new ActionForward("NewsForPageView");
return forward;
}
//显示新闻内容
public ActionForward newsContent(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
int id =Integer.parseInt(request.getParameter("id")) ;
News news = nsc.selectNewsById(id);
int count = news.getBrowseCount();
count = count + 1;
news.setBrowseCount(count);
nsc.updateNews(news);
List newsClassesList = nsc.selectNewsClasses();
request.setAttribute("news", news);
request.setAttribute("newsClassesList", newsClassesList);
ActionForward forward= new ActionForward("NewsContentView");
return forward;
}
public void setNsc(NewsService nsc) {
this.nsc = nsc;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -