1

我需要在 Plone 应用程序中运行一个小程序。我开发了在我的本地主机上的测试 html 页面中运行良好的小程序,但由于我是 Plone/python/zope noob(此处为 java 开发人员),我找不到解决方案。有人可以帮忙吗?

这是我正在使用的代码。

我在文件夹“browser”下创建了一个名为“java”的文件夹,与“resource”处于同一级别;我在 /browser/configure.zcml 文件中注册了这个新文件夹,如下所示:

<browser:resourceDirectory
    name="java"
    directory="java"/>

我把我所有的小程序文件放在那个文件夹中(jar 本身、jnlp、所需的库)。如果我在 Firefox 地址栏中输入这个

http://localhost:8091/Scia/++resource++java/GestioneOneri.jar

我可以成功下载jar文件,所以它已经正确注册,我可以访问它了。

小程序需要一个参数(当前登录的用户),所以我将值传递给变量“user”。

我的 page.pt 文件:

<script tal:define="utenteplone request/AUTHENTICATED_USER" tal:content="string:var user='${utenteplone/getId}'"></script>
<script>
  var attributes = {code:'geotel.gui.Login.class', archive:'portal_url/++resource++java/GestioneOneri.jar, portal_url/++resource++java/mysql-connector-java-5.1.20-bin.jar, portal_url/++resource++java/poi-3.8-20120326.jar, portal_url/++resource++java/forms-1.3.0.jar', width:1024, height:700};
  var parameters = {jnlp_href:'portal_url/++resource++java/gestioneoneri.jnlp', nomeUtente:user};
  var version = '1.6';
  deployJava.runApplet(attributes, parameters, version);
</script>
<noscript>
  No java plugin!
</noscript>

我的jnlp:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp href="gestioneoneri.jnlp">
 <information>
   <title>Gestione Oneri Urbanistici</title>
   <vendor>Geotel soc. coop.</vendor>
   <offline-allowed />
 </information>
 <resources>
   <j2se version ="1.6+" initial-heap-size="1000m" max-heap-size="1500m"
  href="http://java.sun.com/products/autodl/j2se" />
   <jar href="portal_url/++resource++java/GestioneOneri.jar" main="true" />
   <jar href="portal_url/++resource++java/mysql-connector-java-5.1.20-bin.jar"/>
   <jar href="portal_url/++resource++java/poi-3.8-20120326.jar"/>
   <jar href="portal_url/++resource++java/forms-1.3.0.jar"/>  
 </resources>
 <applet-desc
     name="Gestione Oneri Urbanistici"
     main-class="geotel.gui.Login"
     width="1024"
     height="700"/>
 </jnlp>

Firefox给我的错误如下:

ExitException[ 3]com.sun.deploy.net.FailedDownloadException: Impossibile caricare la risorsa: http://localhost:8091/Scia/sportello-unico-edilizia/archivio-pratiche-edilizie/permesso_di_costruire.2012-10-24.5148962026/portal_url/++resource++java/portal_url/++resource++java/GestioneOneri.jar
at sun.plugin2.applet.JNLP2Manager.downloadResources(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

路径全错了:应该是

http://localhost:8091/Scia/++resource++java/GestioneOneri.jar

但我不知道在哪里进行任何类型的更正(以及使用什么更正)。

提前致谢!

4

1 回答 1

1
jnlp_href:'portal_url/++resource++java/gestioneoneri.jnlp'

和...一起:

<jnlp href="gestioneoneri.jnlp">

(没有代码库的 JNLP 元素)..将确保代码库默认为:

portal_url/++resource++java/

所以:

<jar href="portal_url/++resource++java/GestioneOneri.jar" main="true" />

应该:

<jar href="GestioneOneri.jar" main="true" />

(ETC。)

于 2012-12-14T16:16:45.210 回答