JSF2.0中CSS图像相对路径的写法

     在JSF2.0中,css、javascript、images应放在resources文件夹中。

 

    在页面中,使用如下JSF标签引用:

<h:outputStylesheetlibrary="css"name="style.css"/>
<h:outputScript library="javascript" name="jsf.js" target="head" />
<h:graphicImage library="images" name="logo.png" />

    注意,以上标签要与JSF2.0新引入的<h:head>、<h:body>组合使用,在使用richfaces4时,有时可能需要将<h:outputStylesheet><h:outputScript>放在<h:body>的末尾。

    使用<h:outputStylesheet>导入CSS后,发现原来CSS中的image url相对路径不能显示图片了?是什么原因造成的呢?看一下html输出结果:

<link href="/JavaSeverFaces/javax.faces.resource/style.css.xhtml?ln=css" rel="stylesheet" type="text/css"/>

    加载图像的路径是相对于css文件的request URL的,而不是相对于实际的物理路径。要在css中使用相对路径写法如下:

background-image:url("../resources/images/logo.png");

    绝对路径,使用EL表达式

background-image: url("#{resources['images:logo.png']}");
或
background-image: url('#{facesContext.externalContext.requestContextPath}/resources/images/logo.png')
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值