【问题标题】:How is extra script layer implemented?额外的脚本层是如何实现的?
【发布时间】:2011-04-25 08:41:22
【问题描述】:

如果你曾经在alfresco工作过,你一定知道其中的web script层,我的问题是alfresco是如何实现的?它使用什么框架?

如果您不了解 alfresco,那么我的问题是:如何实现脚本层以将我的服务层公开为 JavaScript 样式对象?

有了图层,我可以写如下代码:

Var test = person.createPerson(556687);

测试…… 提前致谢!

【问题讨论】:

    标签: java javascript architecture frameworks alfresco


    【解决方案1】:

    Alfresco 使用 Mozzila Rhino,它提供了通过 Java 脚本公开 Java 对象的 Java 脚本引擎。

    【讨论】:

      【解决方案2】:

      Alfresco 服务器中使用的 webscript 层是由 Alfresco 自己开发的,现在是 Spring 的一部分。当前版本可以在 Spring Surf 项目中找到,地址为 Spring Surf Webscripts

      要将您自己的 Java 类公开为 Javascript 对象,您必须扩展 BaseProcessorExtension 类并将其注册到以下 spring bean 配置:

      <bean id="yourJavascriptBean" parent="baseJavaScriptExtension" class="com.example.MyJavaService">
        <property name="extensionName" value="customobject" />
      </bean>
      

      这会将您的服务注册为对象customobject。可以在 Alfresco wiki 中找到 example for registering the Alfresco serviceRegistry。您可能还想查看现有 Alfresco 服务的源代码,例如 Javascript People API

      请记住,这会在 javascript 引擎中全局注册对象,这可能会改变现有 javascript 代码的行为。

      【讨论】:

      • 谢谢,但我想知道如何实现该机制,但不知道如何配置它。
      【解决方案3】:

      您可以使用Direct Web Remoting (DWR)。从他们的网站:

      DWR 是一个 Java 库,它支持 服务器上的 Java 和 JavaScript 中的 浏览器进行交互和调用每个 其他尽可能简单。

      【讨论】:

      • 该库似乎是一个Ajax库(远程调用)但没有直接将服务映射到JavaScript对象,可以在服务器端使用
      猜你喜欢
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      相关资源
      最近更新 更多