Java позволяет записать нейтральный в отношении базы данных код. Это позволяет Вам снова использовать существующий код и существенно повышать производительность.
Одна вещь я нахожу, что Хранимые процедуры Java, полезные для, являются Файлом IO. Java имеет намного более богатый набор Файла, возможности IO, позволяя разработчикам удалить файлы, добавляют каталоги, и так далее, по сравнению с пакетом Oracle UTL_FILE.
Ответ David кажется прекрасным и эффективным. Я нашел другое изменение решения, где можно использовать атрибут a_attr для дифференциации различных узлов и на основе которого можно генерировать другое контекстное меню.
В ниже примера, я использовал два типа Папки узлов и Файлов. Я использовал различные значки слишком использующий glyphicon. Для узла типа файла можно только заставить контекстное меню переименовывать и удалять. Для Папки, все опции там, создают файл, создают папку, переименовывают, удаляют.
Для полного фрагмента кода, можно просмотреть https://, Начальная буква everyething.com/Example-of-jsTree-with-different-context-menu-for-different-node-type
$('#SimpleJSTree').jstree({
"core": {
"check_callback": true,
'data': jsondata
},
"plugins": ["contextmenu"],
"contextmenu": {
"items": function ($node) {
var tree = $("#SimpleJSTree").jstree(true);
if($node.a_attr.type === 'file')
return getFileContextMenu($node, tree);
else
return getFolderContextMenu($node, tree);
}
}
});
json данные была как ниже, где тип узла упоминается в a_attr.
var jsondata = [
{ "id": "ajson1", "parent": "#", "text": "Simple root node", icon: 'glyphicon glyphicon-folder-open', "a_attr": {type:'folder'} },
{ "id": "ajson2", "parent": "#", "text": "Root node 2", icon: 'glyphicon glyphicon-folder-open', "a_attr": {type:'folder'} },
{ "id": "ajson3", "parent": "ajson2", "text": "Child 1", icon: 'glyphicon glyphicon-folder-open', "a_attr": {type:'folder'} },
{ "id": "ajson4", "parent": "ajson2", "text": "Child 2", icon: 'glyphicon glyphicon-folder-open', "a_attr": {type:'folder'} },
];
, Поскольку часть contect пункта меню для создания файла и папки использует подобный код ниже как действие файла.
action: function (obj) {
$node = tree.create_node($node, { text: 'New File', icon: 'glyphicon glyphicon-file', a_attr:{type:'file'} });
tree.deselect_all();
tree.select_node($node);
}
как действие папки:
action: function (obj) {
$node = tree.create_node($node, { text: 'New Folder', icon:'glyphicon glyphicon-folder-open', a_attr:{type:'folder'} });
tree.deselect_all();
tree.select_node($node);
}