`
weibaojun
  • 浏览: 98843 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

js 调用applet 访问本的文件

    博客分类:
  • java
阅读更多


在js中调用Applet中的方法,当Applet中的方法需要访问本地文件系统时,即使你的Applet 是经过签名的,也会报异常,不能正确地访问本地文件系统,解决的办法是:
将原来Applet中的方法:

/**
	 * 提供页面中用js调用导出Excel的方法
	 */
	public void exportExcel() {
		if (showPanel instanceof IstatReportPanel) {
			((IstatReportPanel) showPanel).exportExcel();
		}
	}

 
修改为:

 

/**
	 * 提供页面中用js调用导出Excel的方法
	 */
	public void exportExcel() {
		if (showPanel instanceof IstatReportPanel) {
			SwingUtilities.invokeLater(new Runnable() {
				public void run() {
					((IstatReportPanel) showPanel).exportExcel();
				}
			});
		}
	}

 
就可以了。
在js中调用:

<%--
 * @file:bb_query.jsp
 * @author:Wei Baojun
 * @date?2009.6.11
 * @reviser:Wei Baojun
 * @reviseDate: 2009.6.11
 * @description: 报表填报显示Applet
 * @version:1.0
 --%>
<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*" %>
<%@ include file="/include/header.jsp"%>
<style>
<!--
body{
  margin: 0px;
  padding: 0px;
}
-->
</style>
<script language="javascript">
<!--
	document.body.onload = function (){
		document.body.scroll = "no";
	}
-->
</script>
<%
	String url = request.getRequestURL().toString();
	String servletPath = request.getServletPath();
	url = url.replace(servletPath,"");
	request.setAttribute("basePath",url);
	String sessionId = session.getId();
	request.setAttribute("sessionId",sessionId);
%>
<OBJECT id="appletObj" name="appletObj" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="100%" height="100%" codebase="/istat3/bbgl/bbtbcl/jvm/jre-1_5_0-windows-i586.exe#Version=1,5,0,0">
  <param name="baseUrl" value="${basePath}" />
  <param name="instBbId" value="${param.instBbId}" /> 
  <param name="bbDesignerBm" value="${param.bbDesignerBm}" /> 
  <!--<param name="instBbId" value="8aceec0c22cf745e0122cf7a25920001" />-->
  <param name="sessionId" value="${sessionId}" />
  <param name="code" value="com.longtop.istat3.bbgl.applet.dtable.QueryBbApplet">
  <param name="codebase" value="${CONTEXT_ROOT}/bbgl/bbtbcl/lib">
  <param name="version" value="2009091807" />
  <param name="archive" value="2009091807.jar,IKExpression2.0.jar,jxl.jar,commons-collections.jar,swingx-0.9.2.jar,commons-lang.jar,spring-2.5.6.jar,commons-logging.jar">
  <param name="cache_option" value="NO">
</OBJECT>
<script language="javascript">
<!--
	/**
     * 打印报表的方法
	 */
	function printTable(){
		var appletObj = document.getElementById("appletObj");
		appletObj.printTable();
	}

	/**
     * 导出报表的方法
	 */
	function exportExcel(){
		var appletObj = document.getElementById("appletObj");
		appletObj.exportExcel();
	}
-->
</script>
<%@ include file="/include/footer.jsp"%>

 

分享到:
评论

相关推荐

    关于 js 和 applet 相互调用的例子

    `jsinterface.js`是一个外部JavaScript文件,用于定义JS与Applet的交互。 在`jsinterface.js`中,我们可以这样调用Applet的方法: ```javascript var applet = document.applets['MyApplet']; // 获取Applet实例 ...

    Javascript与Applet之间相互通讯

    #### 五、Applet访问JavaScript 为了实现Applet与JavaScript之间的通讯,需要使用Live Connect技术,它允许Applet调用JavaScript代码。这需要引入`netscape.javascript.JSObject`类,该类位于NetScape的Java库中。...

    applet文件上传

    考虑到Applet的局限性,现在更常见的文件上传解决方案是使用JavaScript、Ajax或现代Web框架(如React、Angular等)结合服务器端语言(如PHP、Python、Node.js等)实现。这些技术提供了更安全、更灵活的解决方案,且...

    JavaApplet与JavaScript

    4. 当用户访问包含 `&lt;applet&gt;` 标签的网页时,浏览器会下载 `.class` 文件并在用户的计算机上执行它。 **Applet 类的主要方法与生命周期:** 每个 Applet 都有一个生命周期,涉及到一系列关键的方法: 1. **`init...

    Java Applet 入门教程

    当用户在浏览器中访问包含Applet的网页时,浏览器会下载Applet的.class文件,并在本地的JVM上运行。这种跨平台的特性得益于Java的“一次编写,到处运行”理念。 **Java Applet 的生命周期** Java Applet有四个主要...

    JavaApplet_javaapplet小程序_java_

    由于Applet可能来自不可信的网络源,因此Java引入了安全沙箱模型,限制了Applet的权限,如读写本地文件、访问网络资源等。这降低了恶意Applet对用户系统的潜在威胁。 六、JavaApplet的局限性与替代方案 随着Web...

    java的applet实例

    - 由于Applet运行在用户机器上,为了安全考虑,Java插件会限制Applet的权限,例如不能访问本地文件系统,除非用户明确授权。 - Applet可以使用`signed`方式签名,以获取更多的系统权限,但这样可能会带来安全风险...

    java applet 简单案例

    由于安全原因,现代浏览器已不再支持Applet,因为它们可以访问用户的系统资源,存在潜在的安全风险。开发者现在更多地转向其他技术,如JavaScript、HTML5 Canvas或Web Applets(基于Web的Java应用)来实现类似的功能...

    Start Applet Demo

    【动态调用Applet】涉及到的主要知识点包括: 1. **Java Applet**:Applet是Java小应用程序,它可以嵌入到HTML页面中并在用户的Web浏览器中执行。Applet通常由`java.applet.Applet`类或其子类实现,并通过`&lt;applet&gt;...

    java applet实例讲解

    2. 启动(start()):当Applet可见或从不可见变为可见时调用,恢复Applet的运行状态。 3. 绘画(paint()):用于绘制Applet的内容,通常与`Graphics`对象一起使用。 4. 停止(stop()):当Applet不再可见或浏览器...

    applet小程序事例

    5. **启动**:接着调用Applet的`start()`方法,开始执行Applet的生命周期。 6. **运行**:Applet开始运行其用户界面和业务逻辑。 7. **停止和销毁**:当用户离开包含Applet的网页或者浏览器关闭时,Applet的`stop()`...

    javascrpit与javaapplet交互

    2. **JavaScript调用Applet的方法**:JavaScript函数`btnclick()`尝试调用名为`testapplet1`的Applet的`t`方法(此处代码不完整)。 ```javascript function btnclick() { var ret = testapplet1.t; // 假设调用...

    applet屏幕截图程序

    Java Applet的工作原理是:服务器将编译后的Java类文件打包成一个jar(Java Archive)文件,如本例中的`picc.jar`。这个jar文件包含了所有必要的类和资源,以便在支持Java的Web浏览器中运行。当用户访问包含applet的...

    APPLET 实例讲解

    当用户首次访问包含Applet的网页时,浏览器会加载并初始化Applet,然后调用start方法使其开始运行。当用户离开包含Applet的页面时,浏览器调用stop方法暂停Applet,释放资源。当浏览器关闭或重新加载页面时,会再次...

    一个Applet小例子

    7. **安全性**:由于Applet是在客户端运行,需要注意安全问题,如防止恶意代码执行,限制对本地文件系统的访问等。 8. **优化性能**:Applet需要在有限的计算和内存资源下运行,因此可能需要进行性能优化,如减少...

    Java Applet 基础

    首先,Java Applet的工作原理包括:将Java程序编译成.class字节码文件,然后在HTML文件中嵌入这个字节码文件的路径,当用户通过浏览器访问含有Applet的网页时,浏览器内置的Java虚拟机(JVM)会解析并执行这些字节码...

    web 扫描仪程序 applet

    3. **安全性**:Java的安全模型为Applet提供了沙箱环境,限制了Applet对本地系统的访问权限,这在一定程度上保证了使用Web扫描仪的用户的系统安全。 4. **网络通信**:Applet可以利用Java的网络类库与服务器进行...

    java applet

    - JavaScript框架(如React、Vue.js)和库(如jQuery)提供了丰富的功能,可以实现与Java Applet类似甚至更高级的交互性。 - WebAssembly允许在浏览器中运行编译后的C++或其他语言代码,提供高性能的应用程序。 -...

    Applet嵌入网页实现读取用户目录内的文件和文件名

    - 默认情况下,Applet受到沙箱模型的限制,不能访问本地文件系统、网络资源或执行其他敏感操作,以保护用户的计算机安全。 4. **Signed Applet**: - 为了绕过这些安全限制,开发者可以对Applet进行签名,这涉及...

Global site tag (gtag.js) - Google Analytics