企業權限管理系統之產品添加操作(五)

文章目錄

(一)產品操作:添加產品流程描述
(二)產品操作:產品添加操作1
(三)產品操作:產品添加操作2(類型轉換)
(四)產品操作:產品添加操作3(類型轉換)

(一)產品操作:添加產品流程描述

在這裏插入圖片描述

(二)產品操作:產品添加操作1

修改product-list.jsp,如下:
在這裏插入圖片描述
把資料包提供的product-add.jsp拷貝過來,如下:
在這裏插入圖片描述
當我們點擊提交時,就會訪問/product/save.do接口,如下:
在這裏插入圖片描述
首先編寫controller,如下:
在這裏插入圖片描述
編寫service接口,如下
在這裏插入圖片描述
編寫service實現類,如下:
在這裏插入圖片描述
編寫dao接口,如下:
在這裏插入圖片描述
效果如下:
在這裏插入圖片描述
在這裏插入圖片描述
報錯信息如下:
在這裏插入圖片描述
分析:其實departureTimeproductStatus都會存在類型轉換的問題,但是客戶端處理了productStatus的類型轉換問題,如下圖:
在這裏插入圖片描述
departureTime則沒有處理,客戶端傳來的是String類型,而服務器需要的是Date類型
對於引用數據類型,springmvc是無法幫我們自動轉換的,springmvc只能自動轉換基本數據類型,因此我們需要手動進行類型轉換

(三)產品操作:產品添加操作2(類型轉換)

SpringMVC綁定參數之類型轉換有三種方式

  • 類型轉換器Converter(之前介紹過,這裏不再介紹了)
    進行全局類型轉換,詳情見:SpringMVC之參數綁定及自定義類型轉換(二)

  • 屬性編輯器(在擴展視頻裏面,待會兒介紹)

  • 實體類中加日期格式化註解(這一次用這種方法,畢竟簡單)

    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
    private Date creationTime;
    

    在這裏插入圖片描述
    效果如下:
    在這裏插入圖片描述
    在這裏插入圖片描述

(四)產品操作:產品添加操作3(類型轉換)

這次使用屬性編輯器來做類型轉換
我們先新建一個工具類,如下:

package com.zzq.ssm.utils;

import org.springframework.beans.propertyeditors.PropertiesEditor;

import java.text.ParseException;
import java.util.Date;

public class DateStringEditor extends PropertiesEditor {

    @Override
    public void setAsText(String text) throws IllegalArgumentException {
        try {
            Date date = DateUtils.string2Date(text, "yyyy-MM-dd HH:mm");
            super.setValue(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

我們需要在要使用類型轉換的controller中加入一個方法,如下:
在這裏插入圖片描述
效果跟剛纔一樣,這裏不再演示了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章