【发布时间】:2011-10-28 09:00:30
【问题描述】:
我编写了一个使用 jquery 和 flot 的简单 portlet。我需要保留一个选项,以便在标准门户容器(如 JBoss)中部署 portet,但也需要放入现有产品中,该产品使用自己的 portlet、struts、dojo 组合。
为了让我的工作保持独立,我将所有 js 文件存储在相对于我的 jsp 的子目录中,因此我的标签如下所示:
<script language="javascript" type="text/javascript" src="javascript/flot/jquery.flot.js"></script>
相对路径正确,但在现有门户容器中找不到。我怀疑它现有的 javascript 框架 dojo 正在设置整个应用程序的基本路径,因此我的相对路径规范与“.”无关。如果我指定一个绝对路径并移动我的 js 文件,它就可以工作。
<script language="javascript" type="text/javascript" src="/AppTopLevel/javascript/flot/jquery.flot.js"></script>
我不想这样做,因为 /AppTopLevel 在我独立部署时会有所不同。
是否有一种标准方法可以将相对于 jsps 的 javascript 文件打包到 portlet 应用程序中,以便它们在各种门户容器和其他人编写的可能使用冲突库和路径的页面中工作?
【问题讨论】:
标签: javascript portlet relative-path