Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java代码中的Javascript_Java_Javascript_Jax Rs - Fatal编程技术网

java代码中的Javascript

java代码中的Javascript,java,javascript,jax-rs,Java,Javascript,Jax Rs,我需要编写一个jax-rs端点,它返回一个javascript函数 我知道我们可以在javascript中编写java代码。但我不知道我们是否可以在java代码中编写javascript代码 但我的主管让我写。感谢您的帮助 谢谢您可以从代码中返回字符串,并且可以将html标记声明为返回字符串。我将推荐一个示例代码 @GET @Path("/") @Produces("text/html") public String getStatus(@

我需要编写一个jax-rs端点,它返回一个javascript函数

我知道我们可以在javascript中编写java代码。但我不知道我们是否可以在java代码中编写javascript代码

但我的主管让我写。感谢您的帮助


谢谢

您可以从代码中返回字符串,并且可以将html标记声明为返回字符串。我将推荐一个示例代码

        @GET
        @Path("/")
        @Produces("text/html")
    public String getStatus(@Context HttpServletRequest request) {
    return "<html><head><script>put your java script code here...</script></head></html>"
}
@GET
@路径(“/”)
@生成(“文本/html”)
公共字符串getStatus(@Context-HttpServletRequest){
return“将java脚本代码放在这里…”
}

当您想在java中运行javascript代码时,您应该看看nashorn:

这是一个非常好的教程:
您不需要在服务器中执行JavaScript。您只需要返回JavaScript函数的字符串表示形式,这样客户端就可以动态执行返回的代码(例如,在浏览器中使用
eval

另一方面,如果希望在服务器内运行JavaScript,可以使用JVM内可用的嵌入式引擎之一:

Java1.7:Rhino

Java 8:Nashorn

看看或。后者由Oracle用Java8发布

Rhino是完全用Java编写的JavaScript的开源实现。它通常嵌入到Java应用程序中,为最终用户提供脚本。它作为默认的Java脚本引擎嵌入到J2SE6中

Nashorn是Oracle用Java编程语言开发的JavaScript引擎。它基于达芬奇机器(JSR292),并已与Java8一起发布


我不知道我们可以在JavaScript中编写Java代码……如果您想从JAX-RS返回一些恰好是JavaScript源代码的文本,那么:是的,当然,没问题。如果您需要其他内容,请更详细地解释。如果您返回JavaScript函数,从Java程序的角度来看,您只需构造一个具有特殊格式的字符串并返回它。搜索“jsonp”。我猜你的副手指的就是这个。大多数JAX-RS实现都支持这一点。否则,要么告诉您的上级详细说明,要么给我们提供更多关于您所收到的需求的信息,但不告诉我们我们可以从java运行javascript,我们不能从javascript运行java。