如何从将在html页面中使用的java脚本中调用java类方法

How to call a java class methods from java script which will be used in html page?

本文关键字:java 脚本 类方法 调用 html      更新时间:2024-06-08

我想在我的java脚本中使用一些java对象值。有什么方法可以做到这一点吗。在网上搜索后,我发现oracle有一些关于的文档

http://docs.oracle.com/javase/8/docs/technotes/guides/scripting/prog_guide/javascript.html

但我在我的html网页中尝试了同样的事情,似乎网页结果解析错误,并没有显示任何内容。

注意这里我不想使用jsp-servelet。我非常清楚javascript是一种客户端技术,但请确认是否有任何可能的调用方式。请看看我迄今为止尝试了什么。

<script type="text/javascript">
<!--
importPackage(java.lang);
// Import the java.lang.String class
importClass(java.lang.String);
var StringArray = Java.type("java.lang.String[]");
var a = new StringArray(5);
// Set the value of the first element
a[0] = "Scripting is great!";
// Print the length of the array
print(a.length);
document.write(a.length);

// You can include version to along with any above condition.
document.write("<br /> Browser version info : " + version );
//-->
</script>

您发布的代码是用于Java的Rhino或Nashorn Javascript引擎。它是从Java调用的。它不支持document对象。此代码可以用于对浏览器一无所知的桌面或服务器应用程序。

本文介绍了如何模仿document对象,使其在Nashorn中使用。它的编写主要是出于移植的原因。例如,如果您以前有许多为浏览器编写的脚本(其中包含document对象),现在您需要将这些脚本移植到桌面应用程序,那么您就可以模仿该对象。

如果您想在浏览器中使用Nashorn而不是桌面应用程序,您可以将真实的document对象传递给Java小程序,然后将其传递给Nashorn,如该链接中所述。您需要这样一个调用模式:Browser(Javascript)->Applet(Java)->Nashorn(Javascript)。这很奇怪,不是吗?而且是多余的。

因此,简单的方法就是创建一个小程序并与之交互。看看这种方法。但不会有importPackage方法。您必须在applet中编写Java代码。