Prototype / Scriptaculous Javascript плагин для файлового браузера, который интегрируется с JSP / Java? - PullRequest
1 голос
/ 15 августа 2011

Мне было поручено создать новый файловый браузер Javascript, но, к сожалению, я вынужден использовать Prototype и не могу использовать Jquery (по крайней мере, на данный момент) из-за некоторых проблем, которые могут возникнуть из-за конфликтов (они сказали, что они планирую решить это, но на данный момент похоже, что мне, возможно, придется идти с прототипом). Я искал в Google плагины, которые я могу использовать для Prototype / Scriptaculous, но они кажутся немногочисленными, и все те, которые я нашел, ориентированы на использование с PHP. Я полагаю, что смогу переписать конец PHP на Java / JSP, так как наше приложение построено на Java. Я просто подумал, что я бы опубликовал здесь, чтобы узнать, может ли кто-нибудь порекомендовать хороший плагин для этого, который может быть легко сделан для интеграции с Java. Спасибо

РЕДАКТИРОВАТЬ: Это то, что я имею в виду:

http://abeautifulsite.net/blog/2008/03/jquery-file-tree/ (это в Jquery), поэтому мне нужно что-то подобное для Prototype

Это для просмотра файловой системы сервера, а не клиента, поэтому будет серверная страница / контроллер, которая возвращает список HTML-файлов или папок, а затем JavaScript обрабатывает это как необходимо свернуть / расширить. Есть несколько таких, написанных на Jquery, но, к сожалению, я не могу найти тот, который написан с помощью Prototype

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Как указывает Diodeus, и как показано на вашем собственном примере, и, вероятно, используется большинством доступных плагинов для файловых браузеров, он работает с HTML, который отображается и возвращается сервером. Все, что нужно сделать javascript - это вставить возвращенный HTML, в Prototype есть функция, которая сделает большую часть этого за вас, Ajax.Updater. Вы можете написать свой очень быстро.

function expandCollapseFolder(event, folder) {
    var list = folder.down('ul');
    if (list) list.toggle();
    else new Ajax.Updater(folder, 'URL-OF-SERVER-PAGE',
    {
        parameters: { path: folder.readAttribute('data-path') },
        insertion: 'bottom'
    });
}

Event.on('ID-OF-FILE-BROWSER', 'click', 'li.folder', expandCollapseFolder);

Вышеприведенный код не протестирован, он предназначен для того, чтобы показать, как мало всего нужно. Тяжелая работа выполняется сервером, он должен сканировать и возвращать содержимое папки с соответствующими значками файлов и URL-адресами.

<ul>
    <li class="folder" data-path="/folder">
        <img src="folder-icon.png" />This is a folder
    </li>
    <li>
        <a href="URL-OF-FILE" target="_blank">
            <img src="file-icon.png" />This is a file
        </a>
    </li>
</ul>
0 голосов
/ 15 августа 2011

Я искал в Google плагины, которые я могу использовать для Prototype / Scriptaculous, но они кажутся немногочисленными, и все те, что я нашел, ориентированы на использование с PHP.

Исходя из вашего вопроса, я не уверен, что именно вам нужно сделать.

Prototype & Scriptaculous - это дополнительные библиотеки для JavaScript, как и jQuery.Они не имеют абсолютно ничего отношения к PHP, Java или любому другому серверному языку, потому что они являются частью клиентской части: JavaScript.

Если вы делаете один для просмотра файлов на сервер , вы просто отправляете HTML-представление списка файлов в браузер.Вы бы использовали Prototype для управления этим HTML.

Нет клиентских файловых браузеров на основе Javascript, независимо от того, используете ли вы jQuery или Prototype, потому что JavaScript не может видеть локальную файловую систему на клиентском компьютере.Это было сделано специально из соображений безопасности.

...