/**
* 跳轉到新增商品頁面
* @return
*/
@RequestMapping("/toAddItem.do")
public String toAddItem() {
return "item/addItem";
}
我們發現新增商品頁面是由4個選項卡組成:
基本資訊 在基本資訊的選項卡中,還是需要我們查詢所有的品牌資料,在頁面上給使用者選擇:
上傳檔案
我們在新增品牌的時候已經做過了上傳檔案的功能了,邏輯大致是一樣的,我們拿過來修改一些東西即可!
在表單form標籤中,記得要使用以下的資料型別進行表單提交!
enctype="multipart/form-data"
修改對應的name名稱
請上傳圖片寬為120px,高為50px,大小不超過100K。
Jquery程式碼:
function submitUpload() {
var opt = {
//重新指定form的action的值
url: "${path}/upload/uploadPic.do",
type: "post",
dateType: "json",
success: function (responseText) {
var jsonObj = $.parseJSON(responseText.replace(/<.>/ig, ""));
$("#imgsImgSrc").attr("src", jsonObj.realPath);
$("#imgs").val(jsonObj.relativePath);
},
error: function () {
alert("系統錯誤");
}
};
$("#form111").ajaxSubmit(opt);
}
新增基本屬性測試
到目前位置,我們的Controller可以拿到Item頁面全部的基本屬性:
商品基本屬性中的隱藏屬性
商品的id是使用oracle中的序列進行自動增長。
/*對於商品的id,我們是自增長的。*/
select seqitemid.nextval from dual
對於稽核狀態,預設設定為0【待稽核】
對於上架狀態,預設設定為1【下架】
對於銷售量,預設設定為0【並沒有人購買】
在Mapper中把對應的屬性設定預設值。
(#{itemId,jdbcType=DECIMAL}, #{itemName,jdbcType=VARCHAR}, #{itemNo,jdbcType=VARCHAR},
#{brandId,jdbcType=DECIMAL}, #{catId,jdbcType=DECIMAL}, #{tagImgId,jdbcType=DECIMAL},
#{tagImg,jdbcType=DECIMAL}, #{isNew,jdbcType=DECIMAL}, #{isGood,jdbcType=DECIMAL},
#{isHot,jdbcType=DECIMAL}, #{promotion,jdbcType=VARCHAR}, 0,
1, #{imgs,jdbcType=VARCHAR}, #{keywords,jdbcType=VARCHAR},
#{pageDesc,jdbcType=VARCHAR}, #{itemRecycle,jdbcType=DECIMAL}, #{onSaleTime,jdbcType=TIMESTAMP},
#{checkTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{updateUserId,jdbcType=DECIMAL},
sysdate, #{checkerUserId,jdbcType=DECIMAL}, #{fullPathDeploy,jdbcType=VARCHAR},
#{fullPathDeployOffer,jdbcType=VARCHAR}, #{originalItemId,jdbcType=DECIMAL}, #{lastStatus,jdbcType=DECIMAL},
#{merchantId,jdbcType=DECIMAL}, #{itemSort,jdbcType=DECIMAL}, 0,
#{createUserId,jdbcType=DECIMAL}, #{simLevel,jdbcType=DECIMAL}, #{giftDesc,jdbcType=VARCHAR},
#{giftImg,jdbcType=VARCHAR}, #{giftShowType,jdbcType=VARCHAR}, #{imgSize1,jdbcType=VARCHAR}
)
大欄位資料 我們第二個選項卡的原型介面如下:
我們需要用到另外一張表:
因此我們需要逆向工程對應的表:
載入對應的對映檔案:
Dao層
id是EbItemClob無法從頁面上獲取的,因此我們需要傳遞進去。
@Repository
public class EbItemClobDaoImpl extends SqlSessionDaoSupport implements EbItemClobDao {
String nameSpace = "com.rl.ecps.sqlMap.sqlMap.EbItemClobMapper.";
public void saveItemClob(EbItemClob ebItemClob, Long itemId) {
ebItemClob.setItemId(itemId);
this.getSqlSession().insert(nameSpace + "insert", ebItemClob);
}
}
fckEditor文字編輯器
其實就是一個文字域,而該文字域是能帶有格式的。以前我們使用過“富文字編輯器”就是這麼的一種,這次我們使用fckEditor文字編輯器
首先,把我們的下載下來的文件加入到web目錄下。
引入核心的JS檔案
建立出FCK物件,設定相關屬性:
var fck = new FCKeditor("itemDesc");
fck.BasePath = "${path}/ecps/console/res/plugins/fckeditor/";
fck.Config["ImageUploadURL"] = "${path}/upload/uploadForFck.do?typeStr=Image";
fck.Height = 400;
fck.ToolbarSet = "Default";
fck.ReplaceTextarea();
itemDesc就是我們文件域的id值: