使用PrimeFaces从Javascript文件访问资源

时间:2013-12-09 21:38:30

标签: javascript primefaces

我在我的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']}')" ...

我根本没有运气。非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

我不知道如何在primefaces中处理内联样式。

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

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

希望这有帮助。

答案 1 :(得分:0)

我找到了一种方法来做到这一点。

我使用了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”才能工作。

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