繁体   English   中英

我可以将复杂的参数传递给Java Applet吗?

[英]Can I pass complex parameters to a Java Applet?

我真的是Java新手,我必须创建一个applet以电子方式签署文档。 该小程序将从ASP.Net网页应用程序中调用。

现在,我将小程序作为<object id="EDOCApplet" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93">嵌入页面中,并将参数发送到小程序,如下所示:

<PARAM id="EdocPath" NAME="EdocPath" value="\\some\where\file.txt" />

在applet中,我可以使用applet的内置方法getParameter("EdocPath") ;获取值。

我需要的是能够向applet传递几个文件及其“显示名称”的列表的功能。 例如,将其像XML字符串一样记下来很简单:

<DocumentList>
  <UnsignedDocument Path="\\some\wehere\file1.txt" Description="Whatever comes here" />
  <UnsignedDocument Path="\\some\wehere\file2.txt" Description="Something else" />
...

但是,据我在HTML4.01规范中看到的, PARAM HTML元素可能没有内容,也没有结束标签。

我正在考虑的选择是:

  • 对xml结构进行html编码,然后将其发送到单个PARAM对象中的applet
  • 创建PARAM对象的列表并构造其名称,例如“ File1”,“ Description1”,“ File2”,“ Description2”,“ File3” ...然后在Java Applet中创建一个while循环以读取文件名(如果有)。

但是,这些解决方案似乎都不是优雅的。 问题是,这种情况下的最佳做法是什么?

将它们传递以逗号分隔:

<param id="files" name="files" 
     value="\\some\where\file.txt,\\some\where\file.txt" />

然后使用String.split()

String[] fileNames = param.split(",");

如果结构更复杂,则可以使用JSON表示它们。

您还可以为您的applet提供公共方法:

initFile(String path, String description)

并从javascript代码中调用此方法(可以在其中循环)

var applet = getElementByTageName(applet);
applet.initFile("yourPath","yourDescription");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM