在JavaScript程序中整合Java函数[Java编程]
本文“在JavaScript程序中整合Java函数[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
问题的提出:
假定我们的HTML 页中有一些表单需求处理,并且我们需求初始化数据库中的字段,我们该怎么办?尺度的办理办法就是利用CGI脚本或是利用Java Servlet等服务器端程序,但是你有没有想过,还可以编写一个脚本程序使你可以用JavaScript直接调用服务器端Java程序举行任何计算的后果,就像下面代码中列的那样:
<html>
我们的表单<br>
<form>
<input type="text" name="textField"><br>
<input type="button" value="Click" onClick="updateField();">
</form>
<script>
function updateField()
{
document.forms[0].textField.value=java.dbConnection.getData('SQL_expr');
}
</script>
</html>
所以,当用户点击按钮,该程序就会调用Java的dbConnection类,然后便可以在JavaScript利用程序中利用Java返回的后果了.上面的程序只是更新了textField的值,我们没必要革新整个页面.由于这个程序也不是JSP文件,所以没必要把你的页面编译成Java Servlet.
你还可以利用调用某些Java函数返回的后果替换段落中的文字;在一个非常大的HTML表中,你可以利用一样的办法,只要更新一行信息:
<script language="JavaScript">
function changeCol()
{
document.all.quote.rows[0].cells[1].innerText=java.Stock.getQuote('Wayne');
}
</script>
<table id="quote" border=1>
<tr><td>Wayne</td><td>123</td></tr>
<tr><td>Another one</td><td>34</td></tr>
</table>
怎么样,可以直接在JavaScript中嵌入Java对象的调用,并且可以保证你的页面的别的部份不会被改变,你一定对这个问题对比感爱好吧.好吧,目前就让我们用Java Servlet来实现它吧.
工作原理
我的假想是利用Java Servlet编写一个JinJ(Java in JavaScript)程序,可以让 HTML 页面内整合 Java 类和 JavaScript脚本,将全部利用JavaScript调用Java函数的HTML页面都传送到这个Servlet中处理,JinJ将当即产生带有Java applet的躲藏帧,这个applet起着桥梁的作用,用来和Java通讯,它的大小还不到2KB,为了调用对象,Applet利用HTTP衔接同一个JinJ Servlet.JinJ用呼应的JavaScript构造来替换全部的Java调用(其实每一个调用前都有前缀java),并且保持页面的别的部份不变.所以,为了可以让JinJ精确辨认,你的JavaScript代码中的任何Java调用,都要利用以下的构造: java.object_name.function_name(list_of_parameters) 此中:
java:是一个尺度的前缀:
object_name:是一个变量名,保存某些Java类的实例(在背面,我们会具体的探究若何成立/定义这样的变量),比方说它可以是一个类名.
function_name:是一个Java类的函数名.
list_of_parameters:是调用的函数的参数列表(可认为空).
下面也将会探究若何把参数传给Java,每个参数明显是某个JavaScript表达式.你也可以利用预编译页,换句话说就是在利用HTML页面之前编译它.
以上是“在JavaScript程序中整合Java函数[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |