【发布时间】:2012-01-07 09:15:20
【问题描述】:
我无法访问文件 css。 我的目录结构:
/resources/style/style.css
/resources/faces/template/baseLayout.xhtml
/WEB-INF/web.xml
/WEB-INF/faces-config.xml
我尝试了两种从模板页面 baseLayout.xhtml 获取访问权限的方法:
1)
<link
href="#{facesContext.externalContext.requestContextPath}/resources/style/style.css"
rel="stylesheet" type="text/css" />
2)<h:outputStylesheet library="style" name="style.css" />
但这两种变体都不起作用。 Web.xml 中的 Servlet 映射
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
baseLayout.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<h:outputStylesheet library="style" name="style.css"></h:outputStylesheet>
</h:head>
<body id="newsManagement">
<ui:composition>
<div id="allContent">
<div id="header">
<ui:insert name="header">
<ui:include src="header.xhtml"></ui:include>
</ui:insert>
</div>
<div id="menu">
<ui:insert name="menu">
<ui:include src="menu.xhtml"></ui:include>
</ui:insert>
</div>
<div id="body">
<span id="newsLoc">
<span id="newsLocWord">
<h:outputText value="#{msg['body.news']}"> </h:outputText>
</span>
<h:outputText value="#{msg['body.signs']}"> </h:outputText>
</span>
<ui:insert name="body" />
</div>
</div>
</ui:composition>
</body>
</html>
index.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<head>
</head>
<body>
<ui:composition template="/resources/faces/template/baseLayout.xhtml"> </ui:composition>
</body>
</html>
有人可以帮我吗?
【问题讨论】:
-
路径看起来不错。您的问题是在其他地方引起的。显然 CSS 根本没有部署。首先尝试在 webbrowser 中通过其直接 URL 打开 CSS 文件。
-
我可以毫无问题地通过其直接 URL 在 webbrowser 中打开 CSS 文件
-
网址是什么?
<h:outputStylesheet>生成的 HTML 输出是什么? -
"localhost:8082/SecondProject/resources/style/…> 没有生成任何内容。标签 为空
-
<h:outputStylesheet>生成的 HTML 输出是什么?当你调用http://localhost:8082/SecondProject/javax.faces.resource/style.css.xhtml?ln=style时你会得到什么?编辑:啊,<head>是空的。你在模板中使用<h:head>吗? (这并不能解释<link>不起作用,也许这又是另一个原因)。