L S*_*L S 3 html css jsf jsf-2
我有一个使用它的JSF 2.0页面:
<h:head>
<h:outputStylesheet name="screen.css" library="css" />
</h:head>
Run Code Online (Sandbox Code Playgroud)
哪个非常好地生成这个HTML:
<head>
<link type="text/css" rel="stylesheet"
href="/myapp/javax.faces.resource/screen.css.jsf?ln=css" />
</head>
Run Code Online (Sandbox Code Playgroud)
在浏览器中查看页面时,这非常有用.但是,我想使用嵌入在HTML页面中的这个样式表,该页面将通过电子邮件发送给用户.我不希望他们的电子邮件客户端从服务器加载样式表.我希望通过电子邮件发送给他们的文件是自给自足的,不受网站样式表变化(甚至没有)的影响.
我希望HTML输出如下:
<head>
<style type="text/css">
...contents of screen.css here...
</style>
</head>
Run Code Online (Sandbox Code Playgroud)
我试图通过使用这个来实现:
<h:head>
<style type="text/css">
<ui:include src="/resources/css/screen.css"></ui:include>
</style>
</h:head>
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
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)
Run Code Online (Sandbox Code Playgroud)
如何让样式表的内容出现在文档的头部?
不是标准的JSF组件.
JSF的工具库OmniFaces有一个<o:resourceInclude>
用于包括非JSF Web应用程序的资源在JSF页面的原始输出的根本目的.
<h:head>
<style type="text/css">
<o:resourceInclude path="/resources/css/screen.css" />
</style>
</h:head>
Run Code Online (Sandbox Code Playgroud)
请注意,这不支持资源本地化和版本控制,也不像CSS那样评估CSS文件中的EL表达式<h:outputStylesheet>
.
归档时间: |
|
查看次数: |
189 次 |
最近记录: |