使用PrimeFaces从Javascript文件访问资源

Access resources from a Javascript file using PrimeFaces

本文关键字:访问 资源 文件 Javascript PrimeFaces 使用      更新时间:2024-05-30

我在primefaces页面中包含一个JS文件,如下所示:

<script type="text/javascript" src="#{request.contextPath}/resources/js/Config.js"></script>

导入操作很好,但问题是我无法访问JS文件中的任何资源。我正在尝试访问一个图像文件,用于一些JS生成的html中的背景图像。我已经尝试使用相对路径

... style="background-image:url('../images/icon_printer.png')" ...

并使用类似于CSS文件中的资源结构

... style="background-image:url('#{resource['images:icon_printer.png']}')" ...

我一点运气都没有。非常感谢您的帮助!

我不知道如何处理素数面的内联样式。

但这是我昨天为导入自定义主题.css所做的事情,我对primefaces mytheme文件夹的images文件夹中的图像进行了以下更改。

background: #ffffff url("#{resource['primefaces-mytheme:images/ui-bg_flat_75_ffffff_40x100.png']}") 50% 50% repeat-x;

希望这能有所帮助。

我已经找到了一种方法。

我使用了Firefox的Firebug扩展,查看了CSS资源调用#{resource['images:icon_printer.png']}生成的完整路径。

如果我将基本上下文路径作为变量resourcePath传递给外部Javascript文件中的函数,那么我就可以利用Firebug的资源路径来访问图像。

... style="background-image:url('""+resourcePath+"/javax.faces.resource/images/icon_printer.png.jsf'")" ...

它需要上下文后面的"javax.faces.resource",然后文件扩展名后面的".jsf"才能工作。

我不知道这是否是最好的方法,但它有效。如果有人有更好的方法,请告诉我。我仍然愿意接受建议。

相关文章: