在基礎管理下添加一個商品類型維護的模塊(7-31)

一    驗證不能爲空的操做:css

  1. 在form中添加代碼@NotEmpty(field="商品類型", message="{errors.required}")java

  2. 在controller中對應不能爲空的位置添加web

     if(results.hasErrors())sql

       return "manager/commodityType/addCommodityType";數據庫

3.不能爲空的格式:<td style="background-color: #f9f9f9;">商品名稱</td>
session

<td><form:input path="commodityTypeName" cssClass="form-control" cssErrorClass="form-control error" value="${commodityTypeForm.commodityTypeName}"/></td>app

二   添加商品類型模塊jsp

  1. 點擊商品類型管理的按鈕進入一個列表界面,顯示數據庫中已經存在的商品類型列表,本模塊的功能有編輯,刪除,追加和取消。ui

  2. 點擊編輯按鈕進入對商品類型的編輯,輸入內容爲空或添加商品類型與已有類型相同時提示錯誤信息。spa

  3. 點擊追加按鈕進入追加頁面添加時,一樣,輸入內容爲空或添加商品類型與已有類型相同時提示錯誤信息。

  4. 後臺創建addCommodityType.jsp

    commodityTypeList.jsp

    editCommodityType.jsp這三個頁面,添加ID,商品名稱和備註:commodity_type_id,commodity_type_name,commodity_type_note

  5. 在CommodityTypeForm中的重要代碼:

    爲須要進行vailudation的屬性添加相應的標籤好比這裏的Name須要設置爲不能爲空或者不能與數據庫中已有的數據重複:

    public class CommodityTypeForm {

    private String commodityTypeId;

    //驗證不能爲空

    @NotEmpty(field="商品類型", message="{errors.required}")

    private String commodityTypeName;

    private String commodityTypeNote;

    private String updateTime;

    private String updateUser;

    }

3.在CommodityTypeSqlMap中的重要代碼:數據庫中所要進行的一些操做,如查詢,插入,更新數據的語句

<sqlMap namespace="Commodity_type">
	<select id="selectCommodityTypeList"
		parameterClass="cn.agriculture.web.form.CommodityTypeForm"
		resultClass="cn.agriculture.web.form.CommodityTypeForm">
		SELECT commodity_type.commodity_type_id as commodityTypeId,
			commodity_type.commodity_type_name as commodityTypeName,
			commodity_type.commodity_type_note as commodityTypeNote
		FROM commodity_type
	</select>

	<select id="selectCommodityType"
		parameterClass="cn.agriculture.web.form.CommodityTypeForm"
		resultClass="cn.agriculture.web.form.CommodityTypeForm">
		SELECT commodity_type_id as commodityTypeId,
			commodity_type_name as commodityTypeName,
			commodity_type_note as commodityTypeNote
		FROM commodity_type
		WHERE commodity_type_id = #commodityTypeId#
	</select>

	<select id="getSeq" resultClass="java.lang.Integer">
		SELECT _nextval('commodityTypeId')
	</select>

	<insert id="addCommodityType" parameterClass="cn.agriculture.web.form.CommodityTypeForm">
		INSERT INTO commodity_type(commodity_type_id, commodity_type_name,commodity_type_note)
		VALUES(#commodityTypeId#, #commodityTypeName#,#commodityTypeNote#)
	</insert>
	
	<update id="editCommodityType" parameterClass="cn.agriculture.web.form.CommodityTypeForm">
		UPDATE commodity_type SET 
			commodity_type_name = #commodityTypeName#,
			commodity_type_note = #commodityTypeNote#
		WHERE commodity_type_id = #commodityTypeId#
		
	</update>
	<delete id="delCommodityType" parameterClass="cn.agriculture.web.form.CommodityTypeForm">
		DELETE FROM commodity_type
		WHERE commodity_type_id = #commodityTypeId#
		
	</delete>
</sqlMap>

4.在CommodityTypeService中的重要代碼:調用存放數據庫中數據的一些方法

@Service
public class CommodityTypeService {
	@Autowired
	QueryDAO queryDao;
	
	@Autowired
	UpdateDAO updateDao;
	
	public List<CommodityTypeForm> searchCommodityTypeList() {
		List<CommodityTypeForm> result = queryDao.executeForObjectList("Commodity_type.selectCommodityTypeList", null);
		return result;
	}
	
	public CommodityTypeForm searchCommodityType(CommodityTypeForm frm) {
		CommodityTypeForm result = queryDao.executeForObject("Commodity_type.selectCommodityType", frm, CommodityTypeForm.class);
		return result;
	}
	
	public boolean addCommodityType(CommodityTypeForm frm) {
		Integer sequee = queryDao.executeForObject("Commodity_type.getSeq", null, Integer.class);
		String commodityTypeId = frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee);
		frm.setCommodityTypeId(commodityTypeId);
		int result = updateDao.execute("Commodity_type.addCommodityType", frm);
		if (result == 1) {
			return true;
		}
		
		return false;
	}
	
	public CommodityTypeForm getEditCommodityType(CommodityTypeForm frm) {
		return queryDao.executeForObject("Commodity_type.selectEditCommodityType", frm,CommodityTypeForm.class);
	}
	
	public boolean editCommodityType(CommodityTypeForm frm) {
		int result = updateDao.execute("Commodity_type.editCommodityType", frm);
		if (result == 1) {
			return true;
		}
		return false;
	}
	
	public boolean delCommodityType(CommodityTypeForm frm) {
		int result = updateDao.execute("Commodity_type.delCommodityType", frm);
		if (result == 1) {
			return true;
		}
		return false;
	}
}

5.在CommodityTypeControllor中的重要代碼:主要實現各頁面的跳轉和一些功能

@Slf4j
@Controller("CommodityTypeController")
@RequestMapping("/")
public class CommodityTypeController {

	@Autowired
	CommodityTypeService commodityTypeService;

	@Autowired
	ItemListComponent itemListComponent;

	@Autowired
	private Environment env;

	@RequestMapping(value = "initCommodityType", method = RequestMethod.GET)
	public String initCommodityType(Model model) {
		log.info("商品類型初始化");
		model.addAttribute("list",
				commodityTypeService.searchCommodityTypeList());
		return "manager/commodityType/commodityTypeList";
	}

	@RequestMapping(value = "initAddCommodityType", method = RequestMethod.GET)
	public String initAddCommodityType(Model model) {
		log.info("追加商品類型初始化");
		CommodityTypeForm commodityTypeForm = new CommodityTypeForm();
		model.addAttribute("commodityTypeForm", commodityTypeForm);
		return "manager/commodityType/addCommodityType";
	}

	@RequestMapping(value = "addCommodityType", method = RequestMethod.POST)
	public String executeAddCommodityType(
			Model model,
			HttpSession session,
			@Valid @ModelAttribute("commodityTypeForm") CommodityTypeForm commodityTypeForm,
			BindingResult results) throws SQLException, IOException {
		//判斷文本框內容不能爲空
		if(results.hasErrors())
        	return "manager/commodityType/addCommodityType";
		log.info("添加商品類型信息");
		UVO uvo = (UVO) session.getAttribute("UVO");
		commodityTypeForm.setUpdateUser(uvo.getUserName());
		Date date = new Date();
		SimpleDateFormat dateformat = new SimpleDateFormat(
				"yyyy-MM-dd HH:mm:ss");
		commodityTypeForm.setUpdateTime(dateformat.format(date));

		boolean result = commodityTypeService
				.addCommodityType(commodityTypeForm);
		if (!result) {
			throw new SQLException("商品類型信息添加失敗!");
		}

		model.addAttribute("list",
				commodityTypeService.searchCommodityTypeList());
		return "manager/commodityType/commodityTypeList";
	}

	@RequestMapping(value = "initEditCommodityType", method = RequestMethod.GET)
	public String initEditCommodityType(Model model,
			CommodityTypeForm commodityTypeForm) {
		log.info("修改商品類型信息初始化");
		CommodityTypeForm result = commodityTypeService
				.searchCommodityType(commodityTypeForm);
		model.addAttribute("commodityTypeForm", result);
		return "manager/commodityType/editCommodityType";
	}

	@RequestMapping(value = "editCommodityType", method = RequestMethod.POST)
	public String executeEditCommodityType(
			Model model,
			HttpSession session,
			@Valid @ModelAttribute("commodityTypeForm") CommodityTypeForm commodityTypeForm,
			BindingResult results) throws SQLException, IOException {
		//判斷文本框內容不能爲空
				if(results.hasErrors())
		        	return "manager/commodityType/editCommodityType";
		log.info("修改商品類型信息");
       
          //uvo語句是判斷登錄時間,登錄超時將從新登錄
		// UVO uvo = (UVO)session.getAttribute("UVO");
		// commodityTypeForm.setUpdateUser(uvo.getUserName());

		Date date = new Date();
		SimpleDateFormat dateformat = new SimpleDateFormat(
				"yyyy-MM-dd HH:mm:ss");
		commodityTypeForm.setUpdateTime(dateformat.format(date));
		boolean result = commodityTypeService
				.editCommodityType(commodityTypeForm);
		if (!result) {
			throw new SQLException("商品類型信息更新失敗!");
		}
		model.addAttribute("list",
				commodityTypeService.searchCommodityTypeList());
		return "manager/commodityType/commodityTypeList";
	}

	@RequestMapping(value = "delCommodityType", method = RequestMethod.GET)
	public String executeDelCommodityType(Model model,
			CommodityTypeForm commodityTypeForm) throws SQLException {
		log.info("刪除商品類型信息");
		boolean result = commodityTypeService
				.delCommodityType(commodityTypeForm);
		if (!result) {
			throw new SQLException("商品類型信息刪除失敗!");
		}
		model.addAttribute("list",
				commodityTypeService.searchCommodityTypeList());
		return "manager/commodityType/commodityTypeList";
	}
}
相關文章
相關標籤/搜索