作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个使用它的 JSF 2.0 页面:
<h:head>
<h:outputStylesheet name="screen.css" library="css" />
</h:head>
它很好地生成了这个 HTML:
<head>
<link type="text/css" rel="stylesheet"
href="/myapp/javax.faces.resource/screen.css.jsf?ln=css" />
</head>
当在浏览器中查看页面时,这非常有用。但是,我想使用嵌入在将通过电子邮件发送给用户的 HTML 页面中的样式表。我不希望他们的电子邮件客户端从服务器加载样式表。我希望通过电子邮件发送给他们的文档是自给自足的,并且不受网站样式表更改(甚至没有)的影响。
我希望 HTML 输出是这样的:
<head>
<style type="text/css">
...contents of screen.css here...
</style>
</head>
我试图通过使用它来实现这一点:
<h:head>
<style type="text/css">
<ui:include src="/resources/css/screen.css"></ui:include>
</style>
</h:head>
但是我收到了这个错误:
javax.servlet.ServletException: Error Parsing /resources/css/screen.css:
Error Traced[line: 1] Content is not allowed in prolog.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
如何让样式表的内容出现在文档的头部?
最佳答案
不适用于标准 JSF 组件。
JSF 实用程序库 OmniFaces有一个 <o:resourceInclude>
为了在 JSF 页面中包含非 JSF webapp 资源的原始输出。
<h:head>
<style type="text/css">
<o:resourceInclude path="/resources/css/screen.css" />
</style>
</h:head>
请注意,这不支持资源本地化和版本控制,也不支持像 <h:outputStylesheet>
这样的 CSS 文件中的 EL 表达式。会做。
关于html - 如何在 <style> 中包含样式表的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15952968/
我是一名优秀的程序员,十分优秀!