📄 releasecontroller.java
字号:
package com.gd.action;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import com.gd.dao.NewsTypeDAO;
import com.gd.dao.NewsDAO;
import com.gd.po.Newstype;
import com.gd.service.Release;
import com.gd.util.NewsUtil;
import com.gd.vo.User;
import com.gd.vo.News;
import com.gd.vo.NewsType;
//继承SimpleFormController,用来负责对页面传来的发布新闻的请求进行转发
public class ReleaseController extends SimpleFormController {
private Logger logger=Logger.getLogger(this.getClass().getName());
private Release release;
public Release getRelease(){
return release;
}
public void setRelease(Release release){
this.release=release;
}
//覆写onSubmit()方法,用来接收用户提交的新闻信息
public ModelAndView onSubmit(HttpServletRequest req,HttpServletResponse res,Object command,BindException errors)throws Exception{
HttpSession session=req.getSession(true);
//获取页面中用户选择的新闻类别id
NewsType newsType=new NewsType();
newsType.setid(Integer.parseInt(req.getParameter("newsType")));
//把从页面中抓取的新闻信息转换成News类存储
News news=(News)command;
//获取保存在session中的用户信息
User user=(User)session.getAttribute("user");
news.setDate(NewsUtil.parseDateDayFormat(NewsUtil.getCurrentDate()));
//通过辅助类获取新闻发布日期
news.setLnkUser(user);
news.setLnkNewsType(newsType);
//保存新闻
getRelease().saveNews(news);
Map model=errors.getModel();
Map mapNews=new HashMap();
//获取新闻类别
List listNewsType=getNewsTypeDAO().queryNewsType();
//根据新闻类别获取对应的新闻,并将其保存在Map中
for(int i=0;listNewsType!=null&&i<listNewsType.size();i++){
Newstype newsTypeTemp=(Newstype)listNewsType.get(i);
//根据新闻类别获取对应的新闻
List listNews=getNewsDAO().getNewsByType(newsTypeTemp.getId());
mapNews.put(newsTypeTemp.getId(),listNews);
}
//将信息存储在model中,供返回页面使用
model.put("mapNews",mapNews);
model.put("listNewsType",listNewsType);
model.put("news",news);
return new ModelAndView(getSuccessView(),model);
}
//下面都是为了实现依赖注入
private NewsDAO newsDAO;
private NewsDAO getNewsDAO(){
return newsDAO;
}
public void setNewsDAO(NewsDAO newsDAO){
this.newsDAO=newsDAO;
}
private NewsTypeDAO newsTypeDAO;
private NewsTypeDAO getNewsTypeDAO(){
return newsTypeDAO;
}
public void setNewsTypeDAO(NewsTypeDAO newsTypeDAO){
this.newsTypeDAO=newsTypeDAO;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -