Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Primefaces中使用CSS url()访问图像_Java_Jsf 2_Primefaces - Fatal编程技术网

Java 在Primefaces中使用CSS url()访问图像

Java 在Primefaces中使用CSS url()访问图像,java,jsf-2,primefaces,Java,Jsf 2,Primefaces,这来自Primefaces文档: 按钮图标 按钮上的图标将使用 CSS和图像属性 .disk是一个简单的css类,具有 背景属性: .磁盘{ 背景图像:url('disk.png')!重要;} 我的问题是:这个url()指向哪里?换句话说,我应该把我的图像放在哪里,以便CSS可以访问它 我试过了/resources,/resources/img,运气不好。是的,它使用的是一个绝对URL(一个包含上下文路径的URL),但这使得应用程序不可移植。您的问题似乎更关注客户端方面的问题,因此,尽管我不

这来自Primefaces文档:

按钮图标

按钮上的图标将使用 CSS和图像属性


.disk是一个简单的css类,具有 背景属性:

.磁盘{ 背景图像:url('disk.png')!重要;}

我的问题是:这个url()指向哪里?换句话说,我应该把我的图像放在哪里,以便CSS可以访问它


我试过了/resources,/resources/img,运气不好。是的,它使用的是一个绝对URL(一个包含上下文路径的URL),但这使得应用程序不可移植。

您的问题似乎更关注客户端方面的问题,因此,尽管我不知道Primefaces,但这里有一个尝试来回答它:

CSS路径与声明CSS规则的位置相关

如果这是在HTML中(在块中),则disk.png必须与文件位于同一目录中

如果此规则位于单独的CSS文件中,则disk.png应位于CSS文件所在的目录中

如果您创建一个目录映像,那么该目录也将与CSS相对

希望这有帮助?

简单的解决方案:

如果您使用的是JavaServerFaces2.0,您有机会将所有资源放在专门设计的目录中。因此,您需要在web应用程序中具有此文件夹结构:

-rootdir
--resources
---images
----disk.png
要在css背景中接收图像,您应键入如下内容:

.disk {
background: url(#{resource['images/disk.png']}) !important;
}

我曾经遇到过同样的问题,我认为关于它的文档还不清楚! 对于Primefaces commandButton和类似的菜单项(菜单项、子菜单等),其工作方式如下:

我所做的是:

  • 从PrimeFaces网站的主题库下载主题(例如:aristo或redmond)
  • 将归档文件解压缩到web应用程序resources文件夹中(在我的示例中:root/resources/css/aristo
  • 请注意,在aristo文件夹中有:theme.css和/images文件夹,其中索引的png图像包含主题使用的所有图标
  • 如果打开theme.css,您会注意到,要访问索引图像图标,您应该调用两个类:.ui icon.ui icon他们想要的图标(.ui图标使用
    {resource['primefaces...png']}
    和.ui icon agivenicon检索索引png,并通过其X&Y位置(索引)对图标进行定界在png图像中)
  • 现在使用
    ******将theme.css输出到应用程序中。
    最好的方法是在模板的标记之间
  • 因此,在xhtml或jsp中,执行
    ***.
  • 现在,如果您想添加您的个人图像用于
    宾果!;-)感谢您的快速回答。
    
    .disk {
    background: url(#{resource['images/disk.png']}) !important;
    }