通过侦听器重定向页面时,JSF级联样式表不适用

问题描述

|| 我在jsf页面中通过f:event type = \“ preRenderView \” listener = \“#{sessionCheck.loginVerify} \” /使用了以下监听器:
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\"/>
我尝试添加以下样式表ref,但没有区别:
<link href=\"/resources/css/m450.css\" rel=\"styleSheet\" type=\"text/css\"/>  
请问有人必须解决这个问题吗?     

解决方法

        第一个应该可以正常工作,尽管可以简化为
<link href=\"#{request.contextPath}/resources/css/myStyles.css\" rel=\"styleSheet\" type=\"text/css\"/>
右键单击Web浏览器和choode中的页面,查看源代码,是否对EL进行了评估?如果您使用的是Firefox,则可以单击
href
,它显示正确的CSS吗?打开Firebug,检查“网络”选项卡,是否正确加载了CSS?