最近做了个小项目,小有收获,记下。
1、用了js的一些东西,jQuery, UI, flexgrid,代码如下。
$ ("#td" + numChapter).find ("input.chapterName").on ('keyup', function (event)
{
if (!($.trim ($ ("#td" + numChapter).find ("input.chapterName").val ()) == ""))
{
$ ("#rightTextarea").removeAttr ("disabled");
}
// 兼容FF和IE和Opera
var theEvent = event || window.event;
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
if (code == "13")
{
if ($.trim ($ ("#td" + numChapter).find ("input.chapterName").val ()) == "")
{
alert ("请先填写章节名称");
return;
}
$ ("#rightTextarea").focus ();
}
});
$ ("#fileTable").flexigrid (
{
dataType : "json",
colModel : [
{
display : "文件名", name : "name", width : 300, sortable : false, align : "left",
process : buildNameDiv
},
{
display : "创建人", name : "author", width : 120, sortable : false, align : "left"
},
{
display : "文件大小", name : "size", width : 120, sortable : false, align : "left"
},
{
display : "修改时间", name : "modifytime", width : 150, sortable : false, align : "left"
},
{
display : "操作", name : "operation", width : 150, sortable : false, align : "left"
}
// {display: "MD5", name: "md5", width: 260, sortable: false,
// align:
// "left"}
], buttons : operateMode == 0 ? [
{
name : "上传文件", bclass : "upFolder", onpress : onUpload
},
{
name : "新建文件夹", bclass : "newFolder", onpress : addNewFolder
},
{
name : "重命名", bclass : "edit", onpress : onRename
},
{
name : "删除", bclass : "delete", onpress : onDelete
},
{
name : "移动到", bclass : "move", onpress : onMove
},
{
name : "编辑章节", bclass : "edit", onpress : onFileChapterManager
},
{
name : "编辑词典", bclass : "edit", onpress : onDictionaryManager
}
] : [], rowbinddata : true, width : "auto", height : "auto", title : "BI文件系统", showToggleBtn : false,
showTableToggleBtn : false
});
2、数据库操作,一定不要忘了资源的释放,代码如下。
public static void deleteFiles(List<FileBean> files) throws FileException {
List<String> fileGuids = new ArrayList<String>();
TextIndexManager fileIndex = new TextIndexManager();
try {
Connection conn = getConn();
try {
conn.setAutoCommit(false);
try {
fileGuids = FileDAO.getFileGuidsMultiPathNew(conn, files);
ChapterDAO.deleteChapters(conn, files);
FileDAO.deleteFilesNew(conn, files);
if (fileIndex.isIndexServerConfigured()) {
try {
fileIndex.delete(fileGuids, FileSearchProcessor.TYPE);
} catch (TextIndexException e) {
throw new FileException("solr端删除异常");
}
}
if (FileSystemOption.isEnableFileDiscStore()) {
deleteFilesFromDiscStore(fileGuids);
}
conn.commit();
} catch (SQLException e) {
conn.rollback();
throw e;
}
} finally {
conn.close();
}
} catch (SQLException e) {
throw new FileException("删除文件出错:" + e.getMessage(), e);
}
}
做事之前,一定要规划好,设计好了,写下的东西也通畅了,设计的不好,真心难受。