?? releasecontroller.java
字號(hào):
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,用來(lái)負(fù)責(zé)對(duì)頁(yè)面?zhèn)鱽?lái)的發(fā)布新聞的請(qǐng)求進(jìn)行轉(zhuǎn)發(fā)
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;
}
//覆寫(xiě)onSubmit()方法,用來(lái)接收用戶(hù)提交的新聞信息
public ModelAndView onSubmit(HttpServletRequest req,HttpServletResponse res,Object command,BindException errors)throws Exception{
HttpSession session=req.getSession(true);
//獲取頁(yè)面中用戶(hù)選擇的新聞?lì)悇eid
NewsType newsType=new NewsType();
newsType.setid(Integer.parseInt(req.getParameter("newsType")));
//把從頁(yè)面中抓取的新聞信息轉(zhuǎn)換成News類(lèi)存儲(chǔ)
News news=(News)command;
//獲取保存在session中的用戶(hù)信息
User user=(User)session.getAttribute("user");
news.setDate(NewsUtil.parseDateDayFormat(NewsUtil.getCurrentDate()));
//通過(guò)輔助類(lèi)獲取新聞發(fā)布日期
news.setLnkUser(user);
news.setLnkNewsType(newsType);
//保存新聞
getRelease().saveNews(news);
Map model=errors.getModel();
Map mapNews=new HashMap();
//獲取新聞?lì)悇e
List listNewsType=getNewsTypeDAO().queryNewsType();
//根據(jù)新聞?lì)悇e獲取對(duì)應(yīng)的新聞,并將其保存在Map中
for(int i=0;listNewsType!=null&&i<listNewsType.size();i++){
Newstype newsTypeTemp=(Newstype)listNewsType.get(i);
//根據(jù)新聞?lì)悇e獲取對(duì)應(yīng)的新聞
List listNews=getNewsDAO().getNewsByType(newsTypeTemp.getId());
mapNews.put(newsTypeTemp.getId(),listNews);
}
//將信息存儲(chǔ)在model中,供返回頁(yè)面使用
model.put("mapNews",mapNews);
model.put("listNewsType",listNewsType);
model.put("news",news);
return new ModelAndView(getSuccessView(),model);
}
//下面都是為了實(shí)現(xiàn)依賴(lài)注入
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;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -