是否可以通过单页加载来加载CSS?
我在我的网络应用程序中使用单页方法和JSF / Primefaces。当我更改单页时,我无法加载CSS。
请问您有什么想法吗?
编辑: 我有一个带有
的index.xhtml<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<f:view />
<h:head>
<f:facet name="first">
xxx
</f:facet>
</h:head>
<h:body>
<f:facet name="last">
<h:outputStylesheet name="/ressources/css/default.css" />
</f:facet>
<!-- ...etc -->
<p:layout fullPage="true">
<p:layoutUnit position="center">
<h:form id="contentForm">
<ui:include id="spa_content" src="ressources/fragments/#{myBean.currentPage.fragment()}.xhtml" />
</h:form>
</p:layoutUnit>
</p:layout>
</h:body>
</html>
您可以看到包含更新我的单页。最重要的是&#34;最后&#34;使用我的default.css
default.css:
.ui-button-text {
background-color: green;
color : blue;
}
我有一个托管bean:
@ManagedBean(name = "xxx")
@SessionScoped
public class MyBean extends AbstractSessionBean implements Serializable {
public MyBean() {}
@PostConstruct
private void init() {}
//...etc
}
最后,我有mySinglePage.css和片段mySinglePage.xhtml:
mySinglePage.xhtml:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<f:facet name="last">
<h:outputStylesheet name="/ressources/css/mySinglePage.css" />
</f:facet>
<p:commandButton value="#{xxx}" action="#{xxx}" update="xxx"/>
</ui:composition>
为了使用mySinglePage.css,您可以看到最后一个方面,但它没有工作......
mySinglePage.css:
.ui-button-text {
background-color: red;
color : yellow;
}
我不知道如何使用mySinglePage.css
编辑2:
如果我有这个,它可以工作,但我的同事说这不是单页:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<f:view />
<h:head>
<f:facet name="first">
xxx
</f:facet>
</h:head>
<h:body>
<f:facet name="last">
<h:outputStylesheet name="/ressources/css/default.css" />
</f:facet>
<!-- ...etc -->
<p:layout fullPage="true">
<p:layoutUnit position="center">
<ui:insert name="contenu">
<ui:include src="/ressources/fragments/mySinglePage.xhtml"
/>
</ui:insert>
</p:layoutUnit>
</p:layout>
</h:body>
</html>
和
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<h:html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head></h:head>
<h:body>
<ui:composition template="../../index.xhtml">
<ui:define name="contenu">
<f:facet name="last">
<h:outputStylesheet name="/ressources/css/mySinglePage.css"
/>
</f:facet>
<p:commandButton value="BLOP"/>
</ui:define>
</ui:composition>
</h:body>
</h:html>
你知道这是一个好方法吗?
感谢。
答案 0 :(得分:0)
这更像是一种检查而不是提供解决方案的建议。
我注意到你的代码的这一部分,你以不同的方式拼写资源。
<h:outputStylesheet name="/ressources/css/default.css" />
您的文件夹名为ressources吗?这可能是一个非常微妙的变化,但我认为拥有资源文件夹的正确语法可能会解决问题吗?