0

我有一个如下形式的Java小程序

$form['applet'] = array(
  '#prefix' => '<div>',
  '#markup' => '<p align=center>
<applet codebase="." code="Clock.class" width=170 height=150>
</applet>
</p>',
  '#suffix' => '</div>',
  );

我应该在哪里放置Clock.class文件以便drupal 总是加载它。与base_path功能有关。

4

3 回答 3

1

我对小程序不熟悉。但是如果你需要创建一个绝对路径,你应该把它放在创建表单的模块中并使用drupal_get_path.

在代码中,这看起来像这样:

$path = drupal_get_path('module', 'MODULE_NAME');

$form['applet'] = array(
  '#prefix' => '<div>',
  '#markup' => '<p align=center>
<applet codebase="'$path'" code="Clock.class" width=170 height=150>
</applet>
</p>',
  '#suffix' => '</div>',
  );

使用上面的代码,您需要将小程序放在自定义模块的根目录中。如果您愿意,您也可以为您的小程序创建一个子文件夹并将其放置在那里。后者是最drupal的方式,但我倾向于只在一个模块中超过3-5个文件时创建子文件夹。

于 2011-03-14T07:27:01.347 回答
1

该 HTML 将使 JRE 期望在与网页相同的目录中找到该类。

于 2011-03-14T12:22:18.457 回答
1

如果还有其他类和资源需要加载,您可能需要替换“.”。对于具有该目录路径的代码库,而不是更改 .class 文件的路径。

假设您的类文件是子文件夹小程序中模块的一部分,这样的事情应该可以工作:

... codebase = "' . drupal_get_path('module', 'yourmodule') . '/applet/" code...

(不确定是否需要尾部斜杠)

于 2011-03-14T08:19:51.567 回答