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,例如:

None.gif  
None.gif
None.gif
< script src = " /jsvm2/jsre.js "   
None.gif
None.gifmode
= " auto "  
None.gif
None.gifdebug
= " true "
None.gif
None.gifclasspath
= " jsx-api.js;webfx1.0.js " >
None.gif
None.gif
</ script >
None.gif

 

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

 

None.gif
None.gif
None.gif### JSVM Runtime Environment ###
None.gif
None.gif[kernel]
None.gif
None.gif#version = 2.0
None.gif
None.gif 
None.gif
None.gif[runtime environment]
None.gif
None.gif# kernel=kernel.js
None.gif
None.gif# ie=ie.js
None.gif
None.gif# moz=moz.js
None.gif
None.gif# application = application.js
None.gif
None.gif# module = module.js
None.gif
None.gif# runtime = runtime.js
None.gif
None.gif 
None.gif
None.gifdebug = false
None.gif
None.gif 
None.gif
None.gif[extends]
None.gif
None.gif### for example
None.gif
None.gif# ExtModules = module1.js,module2.js
None.gif
None.gif 
None.gif
None.gif 
None.gif
None.gif[Resource Location]
None.gif
None.gif# resource home
None.gif
None.gifclass_home = ${jsvmHome}/classes
None.gif
None.giflib_home = ${jsvmHome}/lib
None.gif
None.gifres_home = ${jsvmHome}/res
None.gif
None.gif# classpath = ${jsvmHome}/lib/xx.xml
None.gif
None.gif 
None.gif
None.gif#ExpireFlag = 2005-05-12 01:07:33
None.gif
None.gif 
None.gif
None.gif[plugins]
None.gif
None.gif# jsvm4s_home = ${jsvmHome}/res/plugins/jsvm4s
None.gif
None.gifjsvm4s_home = /jsvm4s
None.gif
None.gif 
None.gif
None.gif 
None.gif
None.gif[deploy config]
None.gif
None.gif# Classpath = 
None.gif
None.gif# DeployLibrarys = x86.js 
None.gif
None.gif 
None.gif
None.gif[Application Config]
None.gif
None.gif## example
None.gif
None.gif# main = class(cn.x86.test.TestMain)
None.gif
None.gif# main = url(/index.html)
None.gif
None.gif# ModuleURL = off
None.gif
None.gif 
None.gif

我们建议采用第一种方式,因为 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("类名");的方式加载类,不过这种方式不提供短类名的支持)类加载成功后(不用担心重复加载)便可以使用。例如:

 

 

None.gif < html >
None.gif
None.gif 
< script  src ="/jsvm2/jsre.js" ></ script >
None.gif
ExpandedBlockStart.gifContractedBlock.gif 
< script > dot.gif
InBlock.gif
InBlock.gif 
try
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif
InBlock.gif  _import(
"js.lang.System");
InBlock.gif
InBlock.gif  _import(
"js.lang.StringBuffer");
InBlock.gif
InBlock.gif  _import(
"js.util.HashMap");
InBlock.gif
InBlock.gif 
InBlock.gif
InBlock.gif  
var sb = new StringBuffer();
InBlock.gif
InBlock.gif  sb.append(
"hello");
InBlock.gif
InBlock.gif  sb.append(
",");
InBlock.gif
InBlock.gif  sb.append(
"world!");
InBlock.gif
InBlock.gif 
InBlock.gif
InBlock.gif  
var map = new js.util.HashMap();
InBlock.gif
InBlock.gif  map.put(
"content", sb.toString());
InBlock.gif
InBlock.gif 
InBlock.gif
InBlock.gif  document.write(map.get(
"content"));
InBlock.gif
InBlock.gif  System.out.println(map.get(
"content"));
InBlock.gif
ExpandedSubBlockEnd.gif }

InBlock.gif
InBlock.gif 
catch (ex)
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif
InBlock.gif   ex.printStackTrace();
InBlock.gif
ExpandedSubBlockEnd.gif }

InBlock.gif
InBlock.gif 
InBlock.gif
ExpandedBlockEnd.gif 
</ script >
None.gif
None.gif 
</ html >  
None.gif

 

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

转载于:https://www.cnblogs.com/homolo/archive/2005/11/21/281140.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值