bug1:显示图片的时候,需要判断url是否为空
<#if photo.url != null>
<img
id="${photo.id}-img" src="${zhaorongbaoFileUrl}/${photo.url}" path="${photo.url}"
height="200px">
<#else>
<img
id="${photo.id}-img" src="" path=""
height="200px">
</#if>
如果不判断,url为空的时候,图片找不到,一个×很影响心情。
bug2:保存的时候,获得图片的id,需要判断newid是否为null。如果不为null,用newid,如果为null,使用id。
也就是说,传给后端的id存在3种情况:
a.增加按钮,默认生成的是 当前时间的毫秒数
b.默认列表显示,后台数据库中的id
c.增加按钮之后,上传了图片,从后台数据库获得的
function bindSaveEvent(){
console.log("bindSaveEvent");
$("#save").on("click", function() {
var trs=$(".tr");
var photos = new Array();
$.each(trs,function(i,n){
var tr = $(trs[i]);
var photo ={};
//newid是数据库中的id
var id=tr.attr("id");
var newid=tr.attr("newid");
photo.id=null;
//优先使用newid
if(newid != null){
photo.id=newid;
}else if(id != null){
photo.id=id;
}
}
bug3:PhotoBean 的toAdd可能存在。当前端增加一条记录,但是不上传图片的时候,这条记录仍然是合法的,这个时候就需要在数据库中插入一条记录了。
class PhotoBean {
// 将要删除的,通常是数据库中的
public List<Photo> toDelete;
// 将要更新的,都在数据库中,部分最新内容来源于web前端
public List<Photo> toUpdate;
// 将要增加的,由于上传图片的时候都已经插入了,这个时候可以忽略了,但是存在增加一条记录,但不上传图片的情况
public List<Photo> toAdd;
}