使用h:outputStylesheet我可以在
HTML head部分嵌入CSS资源,但是如何构建< link>对于在此示例中呈现HTML的
favicon图像资源:
HTML输出:
<head> ... <link rel="icon" type="image/png" href="favicon.png" /> ... </head>
图像资源位于< web> / resources / images中.
如果我在JSF模板中使用直接HTML代码,如href =“/ resources / images / favicon.png”,则找不到资源 – 导航到/resources/images/favicon.png会导致错误
/resources/images/favicon.png/index.jsf
not found
(我已将index.jsf设置为web.xml中的索引页面,可能会解释此路径)
解决方法
您的webapp显然是在非空的上下文路径上运行.前导斜杠/将您带到域根目录.使用#{request.contextPath}动态内联上下文路径.
<link rel="shortcut icon" type="image/png" href="#{request.contextPath}/resources/images/favicon.png" />
(注意我也修复了rel以使它与crossbrowser兼容)