对于我的特定项目,我使用 Facelets (1.1.14)、MyFaces (1.2.3) 和 Spring Web Flow (2.0.3)。我的 IDE 是 JDeveloper 10.1.3.3。我的浏览器是 IE6(工作要求)。
好吧...今天遇到了一个非常奇怪的问题。通常,当我使用 Facelets 时,我可以对我的 xhtml 文件进行任何我想要的更改,刷新我的浏览器窗口,然后立即查看更改。我将 Facelets development 设置为 true,Facelets refresh period 设置为 1。
直到今天下午,我对这个项目的 Facelets 刷新没有任何问题。但是,就在今天下午,我开始发现刷新页面时没有出现对 css 样式和类的更改。然后我开始看到其他页面元素的类似问题。在某些情况下,这些更改永远不会出现。在其他时候,我可以在一段时间后刷新页面并且更改已经反映。
我的 Facelets 页面刷新发生了什么?就好像它们都粘了一样。我习惯于在页面刷新时立即更改而不会出现复杂情况。有没有人遇到过这个?有什么解决方案或建议吗?
编辑
这个问题与 Spring Web Flow 有关。我的页面之一是纯 Facelets,它会立即反映刷新时的变化。我的其他 xhtml 页面在我的流程定义中作为视图状态被调用,并显示上述症状。尽管如此,他们在一两天前工作得很好......
编辑
好的,我已经能够隔离症状,但我仍然不知道它的原因。
似乎每当我有一个 facelets xhtml 文件呈现为流的视图状态并具有一个 h:form 元素时,当我更改页面上的 JSF 元素并刷新我的浏览器时,我就会出现奇怪的行为。这包括不显示其样式或样式类的更改。
对常规 HTML 元素的更改(例如更改输入元素的样式)似乎可以正常工作。将 h:form 更改为常规 HTML 表单允许在页面刷新时立即更改,甚至在 JSF 元素上也是如此。当我在不执行流程(仅使用 Facelets)时查看页面时,我从未遇到任何问题,即使使用 h:form 也是如此。
请告诉我有人以前遇到过这种情况,并有一些解决方案。任何人?