Java 将Nashorn与其他Web应用程序框架一起使用

Java 将Nashorn与其他Web应用程序框架一起使用,java,jsf,wicket,oracle-adf,nashorn,Java,Jsf,Wicket,Oracle Adf,Nashorn,2013年,我参加了一个关于纳索恩项目的研讨会。知道这件事后我很惊讶。从JavaScript调用Java,反之亦然 但有一个问题我还不清楚,那就是我们如何使用Nashorn来支持JSF、ADF Faces或Wicket等Web应用程序框架。如果有人给出任何指针,这将是非常值得注意的。Nashorn是Java虚拟机的JavaScript编译器和运行时。它本身不是一个Web应用程序框架,但可能使一个应用程序框架能够构建在它之上 因此,它不能取代JSF或ADF。一般来说,Java平台的脚本API,特别

2013年,我参加了一个关于纳索恩项目的研讨会。知道这件事后我很惊讶。从JavaScript调用Java,反之亦然


但有一个问题我还不清楚,那就是我们如何使用Nashorn来支持JSF、ADF Faces或Wicket等Web应用程序框架。如果有人给出任何指针,这将是非常值得注意的。

Nashorn是Java虚拟机的JavaScript编译器和运行时。它本身不是一个Web应用程序框架,但可能使一个应用程序框架能够构建在它之上


因此,它不能取代JSF或ADF。

一般来说,Java平台的脚本API,特别是Nashorn,为JVM上的web应用开发提供了广泛的机会。像node.js和vert.x这样的框架将JavaScript作为服务器端框架。是的,我们还在等待关于node.jar的消息——神秘的Oracle在Java平台上实现node.jsAPI的项目

在今天的现代web应用程序中,我们应该更多地将服务器端看作服务提供者(RESTful服务),而不是在服务器上生成html的表示框架。但即使对于服务器生成的页面,您也不一定需要坚持使用JSF、Wicket、ADF等框架。使用Nashorn/Rhino,您可以使用JavaScript模板在后端生成html标记。例如,LinkedIn在浏览器和服务器上使用JavaScript编写模板的好处。如果您的浏览器无法处理客户端模板,您可以降级并切换到服务器端渲染


如果您正在寻找在服务器端web框架中利用JavaScript的示例,您可以从开始。不要被描述中的Rhino一词所迷惑。Dust4j不使用内部Rhino的API。它使用jsr223 API,所以如果您在JDK8上运行它,或者它应该可以工作。Dust4j项目展示了如何将脚本集成到基于JSP/Servlet/Filter的应用程序中。

Apache Wicket提供了一种功能,现在可以针对服务器发布javascript代码,还可以访问会话/请求范围的对象。它并不取代Web框架本身,而是允许您创建一个编程接口,在服务器上运行代码,修改java对象,计算值并返回计算结果

Wicket的Nashorn集成文件可在此处找到:

如果您使用git存储库,您可以运行nashorn集成示例:


还有一件事需要提及:由于这是一种任意代码执行,因此可能会导致安全问题,因此请确保只有登录的用户才能访问此界面。

J1 2013尚未发生。。我相信一定是2012年。@AntonArhipov J1 2013年4月已经在印度发生了。下一个将是在旧金山,22到9月26日。因为NoDE.JAR还没有,我们只能即兴,例如:@ MaxeloCavajARJS是NoDE.Jar Hi @ VikGangoVo的新名称,是的,马库斯在推特上告诉我关于它的一段时间,不幸的是,我还没有机会玩它:(HEH,搜索“Web应用框架””nashorn'将此作为第一个结果返回。我猜这只是一个假设。