JSVM2 使用说明

1.序言...

2.JSVM2 框架介绍...

3.JSVM2 使用说明...

3.1如何在页面上部署jsvm环境。...

3.2如何设置当前jsvm的环境变量。...

3.3如何使用jsvm中的类


3.JSVM2
使用说明

3.1如何在页面上部署jsvm环境。

JSVM2 软件包中有一个引导文件:jsre.js, 在页面中创建一个 <script> 标签引用该 jsre.js 即可。
例如: <script src="/<jsvm_home>/jsre.js"></script>

3.2如何设置当前jsvm的环境变量。

如果需要对 jsvm 初始化的参数进行设置,我们有两种方式(推荐采用第一种方式):

1.   直接在<script>标签上设置相应的attribute,例如:

 

<script src="/jsvm2/jsre.js"  

mode
="auto" 

debug
="true"

classpath
="jsx-api.js;webfx1.0.js">

</script>

 

2.   在配置文件中设置参数,配置文件地址:<jsvm_home>/rtenv.conf 例如:对debug的设置

 



### JSVM Runtime Environment ###

[kernel]

#version = 2.0

 

[runtime environment]

# kernel=kernel.js

# ie=ie.js

# moz=moz.js

# application = application.js

# module = module.js

# runtime = runtime.js

 

debug = false

 

[extends]

### for example

# ExtModules = module1.js,module2.js

 

 

[Resource Location]

# resource home

class_home = ${jsvmHome}/classes

lib_home = ${jsvmHome}/lib

res_home = ${jsvmHome}/res

# classpath = ${jsvmHome}/lib/xx.xml

 

#ExpireFlag = 2005-05-12 01:07:33

 

[plugins]

# jsvm4s_home = ${jsvmHome}/res/plugins/jsvm4s

jsvm4s_home = /jsvm4s

 

 

[deploy config]

# Classpath = 

# DeployLibrarys = x86.js 

 

[Application Config]

## example

# main = class(cn.x86.test.TestMain)

# main = url(/index.html)

# ModuleURL = off

 

我们建议采用第一种方式,因为 rtenv.conf 文件中还包含了很多其它关键配置,修改不当可能会导致jsvm2无法工作。关于这个文件的详细说明将放在以后单独介绍。注意:一般情况下我们只需要设置 3个环境变量: debug,mode,classpath

1.    debug : [true|false] default:false 是否将jsvm设置成调试模式。当jsvm处于调试模式时,框架中的所有cache (包括本地缓存)将被禁用。如果系统开发结束上线运行的时候,建议将debug设置为:false,以提升系统性能。 注意:开发阶段需要debug设置true,否则你的修改需要重启浏览器才能生效。(光靠刷新页面是不行的)

2.    mode : [standalone,application,module,auto] 设置当前页面中的jsvm运行模式,jsvm 一共有4种运行模式。

a)      独立模式:standalone, 该模式下,当前页面的jsvm独立加载,不和系统中其他页面的JSVM发生关联。

b)      应用程序模式:application, 应用程序模式下的页面会除了加载jsvm以外,还将构造一个Application的环境。其他模块模式的页面会共享Application的资源。

c)      模块模式:module, 模块模式的页面必须运行在一个Application模式的页面下。该页面可以通过application框架共享资源以及访问全局变量。

d)      自动模式:auto, 页面根据环境自动选择是独立模式还是模块模式。

3.    classpath : 设置类文件存放的路径,多个路径之间用;号分割。缺省类路径jsvm_homo/classes 不用在classpath中设置。

3.3如何使用jsvm中的类。

jsvm 采用类似java的代码组织结构和api的命名规范。当我们要使用一个类时之前,要确保该类已经被jsvm加载,一般情况下,我们通过函数 _import("类名") 加载类(或者通过Class静态方法Class.forName("类名");的方式加载类,不过这种方式不提供短类名的支持)类加载成功后(不用担心重复加载)便可以使用。例如:

 

 

<html>

 
<script src="/jsvm2/jsre.js"></script>

 
<script>

 
try

 
{

  _import(
"js.lang.System");

  _import(
"js.lang.StringBuffer");

  _import(
"js.util.HashMap");

 

  
var sb = new StringBuffer();

  sb.append(
"hello");

  sb.append(
",");

  sb.append(
"world!");

 

  
var map = new js.util.HashMap();

  map.put(
"content", sb.toString());

 

  document.write(map.get(
"content"));

  System.out.println(map.get(
"content"));

 }


 
catch (ex)

 
{

   ex.printStackTrace();

 }


 

 
</script>

 
</html> 

 

如果类加载时出现错误,会抛出异常。注意:_import()函数会自动打印异常,但Class.forName()不会,你可以catch之后通过ex.printStackTrac();打印错误信息到控制台窗口。

posted on 2005-11-21 11:03  homolo 同道科技  阅读(2910)  评论(0编辑  收藏  举报