为对象名必须是唯一的),如:dbPool=new dbPool();
2. 为了更优化程序,应当在编程的时候就预建一些对象组成标准化库,通过标准化库,你可以在运行中创建/删除对象的实例,查看存在的对象等。
下面就是我们需要实现的标准化库(预定义的对象) ,对象名是JinJ,所以服务器端名为JinJ的实例将会被自动创建,这给类中有下面几个函数:
public boolean create(String object_name,String class_name,list_of_constructors_parameters);
public void delete(String object_name);
public boolean exists(String object_name);
public String id();
public int random(int n1, int n2);
public String rewriteURL(document,String id_name);
public String rewriteURL(document,String id_name,String id_value);
create(创建):能够让你在运行时创建某个对象的实例:
参数为:
- 新的对象名
- 类名
- 参数列表 (如果你使用默认构造函数的时候,可以为空)。
返回值:
- 根据创建的接过返回true 或 false
在JavaScript程序中整合Java函数(4)
时间:2010-12-25
例如:
<script language="JavaScript">
<!--创建myHash 作为一个新的哈希表Hashtable -->
java.JinJ.create("myHash","java.util.Hashtable");
<!-- 使用myHash -->
java.myHash.put(''key1'',''shop1'');
</script>
delete:让你删除任何对象的实例。
参数为:
- 对象名
例如:
<script language="JavaScript">
<!-- 删除myHash -->
java.JinJ.delete("myHash");
</script>
exists:查看对象的实例是否存在。
参数为:
- 对象名
返回值:
true 或 false
例如:
<script language="JavaScript">
if (java.JinJ.exists("myHash")==''false'')
{
<!--创建myHash 作为一个新的哈希表Hashtable -->
java.JinJ.create(myHash,"java.util.Hashtable");
<!--使用myHash -->
java.myHash.put(''key1'',''shop1'');
}
</script>
id: 返回唯一的标示符,比如你可以在支持session的程序中使用这个函数。
Random: 从给定的数域中返回随机值:
例如:
<script language="JavaScript">
var sessionId=java.JinJ.id();
<!-- 从1到10中的随机数 -->
var randValue=java.JinJ.random(1,10);
</script>
rewriteURL:能够让你使用session。你可以用<a href="some_url? id_name=id_value">你的链接</a>来替代<a href="some_url">你的链接</a>这同样适用于任何形式的动作。你可以只设置一个参数名,参数值将自动生成,也可以同时设置参数名和参数值:
例如:
<script language="JavaScript">
<!--添加sessionId=某个值到这个链接 -->
java.JinJ.rewriteURL(document,''sessionId'');
<!-- 添加 id=12345 到这个链接-->
java.JinJ.rewriteURL(document,''id'',12345);
</script>
我们还要能够分析读入Java函数的参数,对于一个参数我们必须知道它的数据类型,为了简单起见,我们就认为有四种数据类型整型,浮点型,布尔型其余的全归于字符串型,你可以看到,这在程序中都有相应的解释。
例如:
<!-- 我们假定A(int,float,String,boolean) -->
java.myClass.myFunc(2, 5.6, a123, true);
为了保证你传递的参数是一个字符串型的值的话,请你使用"或者'',如:
<!--总是作为字符串型数据传递-->
java.myClass.myFunc("256");
函数返回的结果问题
如果Java函数的类型为void的话,那么 |