Prototype/Scriptaculous Javascript插件,用于与JSP/Java集成的文件浏览器?

Prototype/Scriptaculous Javascript插件,用于与JSP/Java集成的文件浏览器?,java,javascript,jsp,prototypejs,scriptaculous,Java,Javascript,Jsp,Prototypejs,Scriptaculous,我的任务是构建一个新的Javascript文件浏览器,但不幸的是,我必须使用Prototype,不能使用Jquery(至少目前不能),因为冲突可能会导致一些问题(他们说他们计划解决这个问题,但目前看来我可能不得不使用Prototype)。我一直在google上搜索我可以用于Prototype/Scriptaculous的插件,但它们似乎很少,而且我找到的所有插件都是面向PHP的。我想我可以将PHP端重写为Java/JSP,因为我们的应用程序是用Java构建的。我只是想在这里发帖子,看看是否有人可

我的任务是构建一个新的Javascript文件浏览器,但不幸的是,我必须使用Prototype,不能使用Jquery(至少目前不能),因为冲突可能会导致一些问题(他们说他们计划解决这个问题,但目前看来我可能不得不使用Prototype)。我一直在google上搜索我可以用于Prototype/Scriptaculous的插件,但它们似乎很少,而且我找到的所有插件都是面向PHP的。我想我可以将PHP端重写为Java/JSP,因为我们的应用程序是用Java构建的。我只是想在这里发帖子,看看是否有人可以推荐一个好的插件,可以很容易地与Java集成。谢谢

编辑:这就是我的意思:

(这在Jquery中)所以我需要这样的原型

这是为了浏览服务器的文件系统,而不是客户端,因此会有一个服务器端页面/控制器,返回各种文件/文件夹的HTML列表,然后JavaScript根据需要进行操作以折叠/扩展。有很多是用Jquery编写的,但不幸的是,我似乎找不到一个用原型编写的

我一直在谷歌上搜索可以用于原型的插件 /不过它们似乎很少,而且远不及我所说的 我们已经发现,它们适合与PHP一起使用

根据你的问题,我不确定你到底需要完成什么

Prototype和Scriptaculous是JavaScript的附加库,就像jQuery一样。它们与PHP、Java或任何其他服务器端语言完全无关,因为它们是客户端的一部分:JavaScript

如果要在服务器上浏览文件,只需向浏览器发送文件列表的HTML表示。您可以使用Prototype来处理这个HTML

没有基于Javascript的客户端文件浏览器,无论您使用的是jQuery还是Prototype,因为Javascript无法看到客户端机器上的本地文件系统。这是出于安全考虑特意设计的

我一直在谷歌上搜索可以用于原型的插件 /不过它们似乎很少,而且远不及我所说的 我们已经发现,它们适合与PHP一起使用

根据你的问题,我不确定你到底需要完成什么

Prototype和Scriptaculous是JavaScript的附加库,就像jQuery一样。它们与PHP、Java或任何其他服务器端语言完全无关,因为它们是客户端的一部分:JavaScript

如果要在服务器上浏览文件,只需向浏览器发送文件列表的HTML表示。您可以使用Prototype来处理这个HTML


没有基于Javascript的客户端文件浏览器,无论您使用的是jQuery还是Prototype,因为Javascript无法看到客户端机器上的本地文件系统。这是出于安全原因特意设计的。

正如Diodeus所指出的,正如您自己的示例所演示的,并且可能被大多数可用的文件浏览器插件所使用,它在服务器呈现和返回的HTML上工作。javascript需要做的就是插入返回的HTML,Prototype有一个函数为您完成大部分工作。你可以很快写出自己的作品

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>
  • 这是一个文件夹

正如Diodeus所指出的,正如您自己的示例所演示的,并且可能被大多数可用的文件浏览器插件所使用,它在服务器呈现和返回的HTML上工作。javascript需要做的就是插入返回的HTML,Prototype有一个函数为您完成大部分工作。你可以很快写出自己的作品

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>
  • 这是一个文件夹

这就是我的意思:我需要这样的东西,但是是用原型编写的,你不需要像我是个孩子一样布置它,也许我不够清楚,它是一个文件浏览器,可以浏览服务器端文件,它调用服务器端页面,并输出包含系统各种文件/文件夹的HTML元素,然后JavaScript根据需要处理这些文件以显示collabsilbe/expandable文件浏览器。如果已经为JSP而不是PHP编写了连接器,那就太好了,但如果需要的话,我可以为Java重写这里可能是最完整的Prototpye附加组件集合(),但我怀疑你会发现类似的东西。您可能希望尝试使用无冲突模式,并在jQuery中执行该操作。我已经成功地同时使用了这两个库,而且效果很好。谢谢,是的,我同意我应该在Jquery中使用它,但不幸的是,这不是我的决定,我可能最终不得不编写自定义代码来实现这一点。这就是我的意思:我需要类似这样的东西,但它是用原型编写的,你不需要像我是个孩子一样进行布局,可能我不够清楚,它是一个文件浏览器,用于浏览服务器端文件,它调用服务器端页面,输出包含系统各种文件/文件夹的HTML元素,然后JavaScript根据需要处理这些元素,以显示可协作/可扩展的文件浏览器。会的