Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS样式有时仅在jsf页面刷新后应用?_Css_Jsf_Icefaces - Fatal编程技术网

CSS样式有时仅在jsf页面刷新后应用?

CSS样式有时仅在jsf页面刷新后应用?,css,jsf,icefaces,Css,Jsf,Icefaces,我在我们的应用程序中遇到了一个奇怪的错误,我已经苦苦挣扎了一段时间,甚至在google和stackoverflow上也找不到解决方案 我找不到与我的问题相匹配的东西 首先,简要介绍应用程序设置: ICEfaces 1.8.1和JSF 1.2 接缝2.1.1 Java1.6,更新20 在JBoss 4.2.2.GA上运行 应用程序部署为EAR文件 如果你需要任何额外的信息,请告诉我,我会设法弄清楚并提供给你 现在,问题来了: 有时(在应用程序的随机页面中),会创建JSF生成的HTML代码并发送

我在我们的应用程序中遇到了一个奇怪的错误,我已经苦苦挣扎了一段时间,甚至在google和stackoverflow上也找不到解决方案 我找不到与我的问题相匹配的东西

首先,简要介绍应用程序设置:

  • ICEfaces 1.8.1和JSF 1.2
  • 接缝2.1.1
  • Java1.6,更新20
  • 在JBoss 4.2.2.GA上运行
  • 应用程序部署为EAR文件
如果你需要任何额外的信息,请告诉我,我会设法弄清楚并提供给你

现在,问题来了:

有时(在应用程序的随机页面中),会创建JSF生成的HTML代码并发送到浏览器, 但是没有包括样式表。页面刷新(点击F5)后,页面将按其应有的方式显示,并应用所有样式。 在某些页面上,错误似乎是可复制的,而在另一些页面上,错误只是随机发生的。 错误(?)出现在Opera(11.51,没有测试早期版本)和Firefox(应用程序在3.6中正常工作,但在Firefox 6中不正常)。 IE9工作正常

该站点由一个顶层页面(template.xhtml)组成,形成应用程序布局,所有其他站点都是 通过用户界面包括:包括标签

在head标记中,样式通过

<link href="#{request.contextPath}/stylesheet/icefaces_style.css" rel="stylesheet" type="text/css" />
<link href="#{request.contextPath}/stylesheet/screen.css"
rel="stylesheet" type="text/css" />

这意味着:

即使页面呈现正确,样式表也不会包含在head中,它们会被放入body标记中,呈现为:

<body>
<link type="text/css" rel="stylesheet" href="/myApp/stylesheet/icefaces_style.css">
<link type="text/css" rel="stylesheet" href="/myApp/stylesheet/screen.css">
</body>

如果渲染不正确,则不包括任何样式。实际上,template.xhtml页面的head标记中没有包含任何内容 进入呈现的响应


你有什么建议可以在哪里寻找进一步的或可能的解决方案吗?提前谢谢

我找不到任何JSF或表达式语言文档来说明头中是否允许表达式。但是我以前没有在页眉中看到过表达式,而且我对ICEfaces在处理页面时被它弄糊涂并不感到惊讶。将CSS样式移动到正文中,然后从ICEfaces到web浏览器的部分更新将起作用。

ICEfaces将呈现的页面与其以前的版本进行比较,然后以xml形式发送增量作为部分更新。您分析过这些xml响应吗?在这里包括它们-您可以使用firebug访问它。另外,请确保您不依赖“查看页面源代码”——在大多数浏览器中,它无法与ajax一起正常工作。我找不到任何JSF或表达式语言文档,说明是否允许在标题中使用表达式。但是我以前没有在页眉中看到过表达式,我对ICEfaces在处理页面时被它弄糊涂并不感到惊讶。@SimonC哇-简单地将样式标记移动到正文中就成功了,至少我无法复制它。Icefaces似乎理解标题中的表达式,但只有在整页刷新时——在部分更新中,它们似乎会丢失。。。把你的建议贴出来作为答复,我会接受的。