<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<link href="/js/kindeditor-4.1.10/themes/default/default.css" type="text/css" rel="stylesheet">
<script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/kindeditor-all-min.js"></script>
<script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/lang/zh_CN.js"></script>
<div style="padding:10px 10px 10px 10px">
<form id="contentAddForm" class="itemForm" method="post">
<input type="hidden" name="categoryId"/>
<table cellpadding="5">
<tr>
<td>內容標題:</td>
<td><input class="easyui-textbox" type="text" name="title" data-options="required:true" style="width: 280px;"></input></td>
</tr>
<tr>
<td>內容子標題:</td>
<td><input class="easyui-textbox" type="text" name="subTitle" style="width: 280px;"></input></td>
</tr>
<tr>
<td>內容描述:</td>
<td><input class="easyui-textbox" name="titleDesc" data-options="multiline:true,validType:'length[0,150]'" style="height:60px;width: 280px;"></input>
</td>
</tr>
<tr>
<td>URL:</td>
<td><input class="easyui-textbox" type="text" name="url" style="width: 280px;"></input></td>
</tr>
<tr>
<td>圖片:</td>
<td>
<input type="hidden" name="pic" />
<a href="javascript:void(0)" class="easyui-linkbutton onePicUpload">圖片上傳</a>
</td>
</tr>
<tr>
<td>圖片2:</td>
<td>
<input type="hidden" name="pic2" />
<a href="javascript:void(0)" class="easyui-linkbutton onePicUpload">圖片上傳</a>
</td>
</tr>
<tr>
<td>內容:</td>
<td>
<textarea style="width:800px;height:300px;visibility:hidden;" name="content"></textarea>
</td>
</tr>
</table>
</form>
<div style="padding:5px">
<a href="javascript:void(0)" class="easyui-linkbutton" onclick="contentAddPage.submitForm()">提交</a>
<a href="javascript:void(0)" class="easyui-linkbutton" onclick="contentAddPage.clearForm()">重置</a>
</div>
</div>
<script type="text/javascript">
var contentAddEditor ;
$(function(){
contentAddEditor = TT.createEditor("#contentAddForm [name=content]");
TT.initOnePicUpload();
$("#contentAddForm [name=categoryId]").val($("#contentCategoryTree").tree("getSelected").id);
});
var contentAddPage = {
submitForm : function (){
if(!$('#contentAddForm').form('validate')){
$.messager.alert('提示','表單還未填寫完成!');
return ;
}
contentAddEditor.sync();
$.post("/content/save",$("#contentAddForm").serialize(), function(data){
if(data.status == 200){
$.messager.alert('提示','新增內容成功!');
$("#contentList").datagrid("reload");
TT.closeCurrentWindow();
}
});
},
clearForm : function(){
$('#contentAddForm').form('reset');
contentAddEditor.html('');
}
};
</script>
javascript
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<div>
<ul id="contentCategory" class="easyui-tree">
</ul>
</div>
<div id="contentCategoryMenu" class="easyui-menu" style="width:120px;" data-options="onClick:menuHandler">
<div data-options="iconCls:'icon-add',name:'add'">添加</div>
<div data-options="iconCls:'icon-remove',name:'rename'">重命名</div>
<div class="menu-sep"></div>
<div data-options="iconCls:'icon-remove',name:'delete'">刪除</div>
</div>
<script type="text/javascript">
$(function(){
$("#contentCategory").tree({
url : '/content/category/list',
animate: true
method : "GET",
onContextMenu: function(e,node){
e.preventDefault();
$(this).tree('select',node.target);
$('#contentCategoryMenu').menu('show',{
left: e.pageX,
top: e.pageY
});
},
onAfterEdit : function(node){
var _tree = $(this);
if(node.id == 0){
// 新增節點
$.post("/content/category/create",{parentId:node.parentId,name:node.text},function(data){
if(data.status == 200){
_tree.tree("update",{
target : node.target,
id : data.data.id
});
}else{
$.messager.alert('提示','建立'+node.text+' 分類失敗!');
}
});
}else{
$.post("/content/category/update",{id:node.id,name:node.text});
}
}
});
});
function menuHandler(item){
var tree = $("#contentCategory");
var node = tree.tree("getSelected");
if(item.name === "add"){
tree.tree('append', {
parent: (node?node.target:null),
data: [{
text: '新建分類',
id : 0,
parentId : node.id
}]
});
var _node = tree.tree('find',0);
tree.tree("select",_node.target).tree('beginEdit',_node.target);
}else if(item.name === "rename"){
tree.tree('beginEdit',node.target);
}else if(item.name === "delete"){
$.messager.confirm('確認','肯定刪除名爲 '+node.text+' 的分類嗎?',function(r){
if(r){
$.post("/content/category/delete/",{parentId:node.parentId,id:node.id},function(){
tree.tree("remove",node.target);
});
}
});
}
}
</script>css
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<link href="/js/kindeditor-4.1.10/themes/default/default.css" type="text/css" rel="stylesheet">
<script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/kindeditor-all-min.js"></script>
<script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/lang/zh_CN.js"></script>
<div style="padding:10px 10px 10px 10px">
<form id="contentEditForm" class="itemForm" method="post">
<input type="hidden" name="categoryId"/>
<input type="hidden" name="id"/>
<table cellpadding="5">
<tr>
<td>內容標題:</td>
<td><input class="easyui-textbox" type="text" name="title" data-options="required:true" style="width: 280px;"></input></td>
</tr>
<tr>
<td>內容子標題:</td>
<td><input class="easyui-textbox" type="text" name="subTitle" style="width: 280px;"></input></td>
</tr>
<tr>
<td>內容描述:</td>
<td><input class="easyui-textbox" name="titleDesc" data-options="multiline:true,validType:'length[0,150]'" style="height:60px;width: 280px;"></input>
</td>
</tr>
<tr>
<td>URL:</td>
<td><input class="easyui-textbox" type="text" name="url" style="width: 280px;"></input></td>
</tr>
<tr>
<td>圖片:</td>
<td>
<input type="hidden" name="pic" />
<a href="javascript:void(0)" class="easyui-linkbutton onePicUpload">圖片上傳</a>
</td>
</tr>
<tr>
<td>圖片2:</td>
<td>
<input type="hidden" name="pic2" />
<a href="javascript:void(0)" class="easyui-linkbutton onePicUpload">圖片上傳</a>
</td>
</tr>
<tr>
<td>內容:</td>
<td>
<textarea style="width:800px;height:300px;visibility:hidden;" name="content"></textarea>
</td>
</tr>
</table>
</form>
<div style="padding:5px">
<a href="javascript:void(0)" class="easyui-linkbutton" onclick="contentEditPage.submitForm()">提交</a>
<a href="javascript:void(0)" class="easyui-linkbutton" onclick="contentEditPage.clearForm()">重置</a>
</div>
</div>
<script type="text/javascript">
var contentEditEditor ;
$(function(){
contentEditEditor = TT.createEditor("#contentEditForm [name=content]");
TT.initOnePicUpload();
});html
var contentEditPage = {
submitForm : function(){
if(!$('#contentEditForm').form('validate')){
$.messager.alert('提示','表單還未填寫完成!');
return ;
}
contentEditEditor.sync();
$.post("/rest/content/edit",$("#contentEditForm").serialize(), function(data){
if(data.status == 200){
$.messager.alert('提示','新增內容成功!');
$("#contentList").datagrid("reload");
TT.closeCurrentWindow();
}
});
},
clearForm : function(){
}
};java
</script>node
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Force latest IE rendering engine or ChromeFrame if installed -->
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<meta charset="utf-8">
<title>jQuery File Upload Demo</title>
<meta name="description" content="File Upload widget with multiple file selection, drag&drop support, progress bars, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap styles -->
<link rel="stylesheet" href="/js/file-upload/bootstrap-3.2.0/css/bootstrap.min.css">
<!-- Generic page styles -->
<link rel="stylesheet" href="/js/file-upload/css/style.css">
<!-- blueimp Gallery styles -->
<link rel="stylesheet" href="/js/file-upload/gallery/css/blueimp-gallery.min.css">
<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
<link rel="stylesheet" href="/js/file-upload/css/jquery.fileupload.css">
<link rel="stylesheet" href="/js/file-upload/css/jquery.fileupload-ui.css">
<!-- CSS adjustments for browsers with JavaScript disabled -->
<noscript><link rel="stylesheet" href="/js/file-upload/css/jquery.fileupload-noscript.css"></noscript>
<noscript><link rel="stylesheet" href="/js/file-upload/css/jquery.fileupload-ui-noscript.css"></noscript>
</head>
<body>
<div class="container">
<form id="fileupload" action="/rest/pic/upload" method="POST" enctype="multipart/form-data">
<!-- Redirect browsers with JavaScript disabled to the origin page -->
<noscript><input type="hidden" name="redirect" value="https://blueimp.github.io/jQuery-File-Upload/"></noscript>
<!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
<div class="row fileupload-buttonbar">
<div class="col-lg-7">
<!-- The fileinput-button span is used to style the file input field as button -->
<span class="btn btn-success fileinput-button">
<i class="glyphicon glyphicon-plus"></i>
<span>選擇文件(多選)</span>
<input type="file" name="files" multiple>
</span>
<button type="submit" class="btn btn-primary start">
<i class="glyphicon glyphicon-upload"></i>
<span>開始上傳</span>
</button>
<button type="reset" class="btn btn-warning cancel">
<i class="glyphicon glyphicon-ban-circle"></i>
<span>取消上傳</span>
</button>
<button type="button" class="btn btn-danger delete">
<i class="glyphicon glyphicon-trash"></i>
<span>刪除</span>
</button>
<input type="checkbox" class="toggle" title="全選">
<!-- The global file processing state -->
<span class="fileupload-process"></span>
</div>
<!-- The global progress state -->
<div class="col-lg-5 fileupload-progress fade">
<!-- The global progress bar -->
<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
<div class="progress-bar progress-bar-success" style="width:0%;"></div>
</div>
<!-- The extended global progress state -->
<div class="progress-extended"> </div>
</div>
</div>
<!-- The table listing the files available for upload/download -->
<table role="presentation" class="table table-striped"><tbody class="files"></tbody></table>
</form>
<br>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">說明</h3>
</div>
<div class="panel-body">
<ul>
<li>上傳的文件大小限制爲:<strong>5 MB</strong>.</li>
<li>只支持的文件格式爲:<strong>JPG, GIF, PNG, BMP </strong>.</li>
</ul>
</div>
</div>
</div>
<!-- The blueimp Gallery widget -->
<div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=":even">
<div class="slides"></div>
<h3 class="title"></h3>
<a class="prev">‹</a>
<a class="next">›</a>
<a class="close">×</a>
<a class="play-pause"></a>
<ol class="indicator"></ol>
</div>
<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-upload fade">
<td>
<span class="preview"></span>
</td>
<td>
<p class="name">{%=file.name%}</p>
<strong class="error text-danger"></strong>
</td>
<td>
<p class="size">Processing...</p>
<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div>
</td>
<td>
{% if (!i && !o.options.autoUpload) { %}
<button class="btn btn-primary start" disabled>
<i class="glyphicon glyphicon-upload"></i>
<span>開始</span>
</button>
{% } %}
{% if (!i) { %}
<button class="btn btn-warning cancel">
<i class="glyphicon glyphicon-ban-circle"></i>
<span>取消</span>
</button>
{% } %}
</td>
</tr>
{% } %}
</script>
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-download fade">
<td>
<span class="preview">
{% if (file.url) { %}
<a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img width="80" height="50" src="{%=file.url%}"></a>
{% } %}
</span>
</td>
<td>
<p class="name">
{% if (file.url) { %}
<a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.url?'data-gallery':''%}>{%=file.name%}</a>
{% } else { %}
<span>{%=file.name%}</span>
{% } %}
</p>
{% if (file.error) { %}
<div><span class="label label-danger">Error</span> {%=file.error%}</div>
{% } %}
</td>
<td>
<span class="size">{%=o.formatFileSize(file.size)%}</span>
</td>
<td>
{% if (file.deleteUrl) { %}
<button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
<i class="glyphicon glyphicon-trash"></i>
<span>Delete</span>
</button>
<input type="checkbox" name="delete" value="1" class="toggle">
{% } else { %}
<button class="btn btn-warning cancel">
<i class="glyphicon glyphicon-ban-circle"></i>
<span>Cancel</span>
</button>
{% } %}
</td>
</tr>
{% } %}
</script>
<script src="/js/file-upload/jquery-1.11.1.min.js"></script>
<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
<script src="/js/file-upload/vendor/jquery.ui.widget.js"></script>
<!-- The Templates plugin is included to render the upload/download listings -->
<script src="/js/file-upload/tmpl.min.js"></script>
<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
<script src="/js/file-upload/load-image.all.min.js"></script>
<!-- The Canvas to Blob plugin is included for image resizing functionality -->
<script src="/js/file-upload/canvas-to-blob.min.js"></script>
<!-- Bootstrap JS is not required, but included for the responsive demo navigation -->
<script src="/js/file-upload/bootstrap-3.2.0/js/bootstrap.min.js"></script>
<!-- blueimp Gallery script -->
<script src="/js/file-upload/gallery/js/jquery.blueimp-gallery.min.js"></script>
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
<script src="/js/file-upload/jquery.iframe-transport.js"></script>
<!-- The basic File Upload plugin -->
<script src="/js/file-upload/jquery.fileupload.js"></script>
<!-- The File Upload processing plugin -->
<script src="/js/file-upload/jquery.fileupload-process.js"></script>
<!-- The File Upload image preview & resize plugin -->
<script src="/js/file-upload/jquery.fileupload-image.js"></script>
<!-- The File Upload audio preview plugin -->
<script src="/js/file-upload/jquery.fileupload-audio.js"></script>
<!-- The File Upload video preview plugin -->
<script src="/js/file-upload/jquery.fileupload-video.js"></script>
<!-- The File Upload validation plugin -->
<script src="/js/file-upload/jquery.fileupload-validate.js"></script>
<!-- The File Upload user interface plugin -->
<script src="/js/file-upload/jquery.fileupload-ui.js"></script>
<!-- The main application script -->
<script src="/js/file-upload/main.js"></script>
<!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 -->
<!--[if (gte IE 8)&(lt IE 10)]>
<script src="/js/file-upload/cors/jquery.xdr-transport.js"></script>
<![endif]-->
</body>
</html>jquery