⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addnewscontroller.java.svn-base

📁 本人编写的基于spring + spring mvc + hibernate架构的新闻系统
💻 SVN-BASE
字号:
package org.coldice.webapp.controller;

import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.coldice.model.News;
import org.coldice.service.CategoryManager;
import org.coldice.service.NewsManager;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;

public class AddNewsController extends SimpleFormController {

	/** Logger for this class and subclasses */
	protected final Log logger = LogFactory.getLog(getClass());

	private NewsManager newsManager;

	private CategoryManager categoryManager;

	/**
	 * @param categoryManager
	 *            the categoryManager to set
	 */
	public void setCategoryManager(CategoryManager categoryManager) {
		this.categoryManager = categoryManager;
	}

	/**
	 * @param newsManager
	 *            the newsManager to set
	 */
	public void setNewsManager(NewsManager newsManager) {
		this.newsManager = newsManager;
	}

	public AddNewsController() {
		// TODO Auto-generated constructor stub
		setCommandName("news");
		setCommandClass(News.class);
	}

	/**
	 * 覆盖referenceData()方法来发掘显示在下拉框中的某些选项,或者作为检查框组一部分的选择。
	 * 
	 */

	protected Map referenceData(HttpServletRequest request) throws Exception {

		if (logger.isDebugEnabled()) {
			logger.debug("referenceData()");
		}

		Map<String, Collection<?>> map = new HashMap<String, Collection<?>>();

		map.put("categorys", categoryManager.listCategorys());

		return (map);
	}

	/***************************************************************************
	 * 覆盖formBackingObject()方法来消除实例化简单命令类所带来的Spring的默认行为,
	 * 或者在只需要空的命令对象支持表单时设定commandClass属性。
	 */
	protected Object formBackingObject(HttpServletRequest request)
			throws Exception {
		News news = new News();
		return news;
	}

	public ModelAndView onSubmit(HttpServletRequest request,
			HttpServletResponse response, Object command, BindException errors)
			throws Exception {
		if (logger.isDebugEnabled()) {
			logger.debug("entering 'onSubmit' method...");
		}

		News news = (News) command;

		// add the news
		if (request.getParameter("add") != null) {

			news.setNewstitle(request.getParameter("newstitle"));
			news.setNewscontent(request.getParameter("newscontent"));
			news.setAuthor(request.getParameter("author"));
			news
					.setCategory(Integer.parseInt(request
							.getParameter("category")));
			news.setNewsdate(new Date());
			
			newsManager.addNews(news);

			logger.debug("add news..." + news.getNewstitle());
			return new ModelAndView(getSuccessView());
		}

		return super.onSubmit(request, response, command, errors);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -