Это действительно не будет работать, так как Facelets неявно HTML-экранирует содержимое комментария. Лучше всего поставить <h:outputText escape="false">
следующим образом:
<h:outputText value="<!--[if IE]><link rel="stylesheet" type="text/css" href="/#{resource['css:ie.css']}" /><![endif]-->" escape="false" />
Это, однако, линия безобразия. В служебной библиотеке JSF OmniFaces есть <o:conditionalComment>
именно для этой цели:
<o:conditionalComment if="IE">
<link rel="stylesheet" type="text/css" href="#{resource['css:ie.css']}" />
</o:conditionalComment>
Не связано с конкретной проблемой, вы на самом деле не используете атрибут library
правильным способом. Он должен идентифицировать общую «тему», а не подпапку, в которую помещены файлы, просто вместо этого поместите эту подпапку в атрибут name
. См. Также Для чего нужна библиотека ресурсов JSF и как ее использовать?
<h:outputStylesheet name="css/common.css" />
<o:conditionalComment if="IE">
<link rel="stylesheet" type="text/css" href="#{resource['css/ie.css']}" />
</o:conditionalComment>