我通过f:event type =“preRenderView”listener =“#{sessionCheck.loginVerify}”/在我的jsf页面中使用了以下监听器:
public void loginVerify() {
try {
ExternalContext eCTX = FacesContext.getCurrentInstance().getExternalContext() ;
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
// eCTX.redirect(eCTX.getRequestContextPath() + "/index.xhtml");
eCTX.dispatch("/index.xhtml");
} catch (java.lang.Exception e) {}
}
但是,当我使用重定向或调度时,样式表不会应用于索引页面。 索引xhtml中的样式表引用是:
<link href="#{facesContext.externalContext.requestContextPath}/resources/css/myStyles.css" rel="styleSheet" type="text/css"/>
我尝试添加以下样式表参考,但没有区别:
<link href="/resources/css/m450.css" rel="styleSheet" type="text/css"/>
有人必须解决这个问题吗?
答案 0 :(得分:5)
第一个应该可以正常工作,尽管它可以简化为
<link href="#{request.contextPath}/resources/css/myStyles.css" rel="styleSheet" type="text/css"/>
右键单击Web浏览器中的页面并选择查看源,EL是否已经过评估?如果您使用的是Firefox,可以点击href
,它是否显示正确的CSS?打开Firebug,检查 Net 选项卡,CSS是否正确加载?