我是 JSF 新手,我的简单 JSF 应用程序有问题。我在 WebLogic 10.3.2 (11g) 上使用 Facelets 和 Richfaces。该应用程序基本上是 3 页:
A <--> B <--> C
其中中间箭头表示导航规则。导航是通过a4j:commandButtons执行的 问题出在 Firefox 3.5 中,当我从 B 点到 C 点时,我得到一个从wyciwig://开始的 url 。更详细地说,起始网址是:
http://localhost:7001/myapp/index.faces
当我从 B 导航到 C 时,我得到的 url 是这样的:
所见即所得://20/ http://localhost:7001/myapp/index.faces
从谷歌搜索我看到 wyciwig 是 WhatYouCacheIsWhatYouGet,所以问题可能与缓存有关。在这个方向上,我做了两件事:
A. 我添加了以下元标记:
<meta http-equiv="Pragma" content="No-cache"/>
<meta http-equiv="Cache-Control" content="no-store,No-cache,must-revalidate,post-check=0,pre-check=0,max-age=0"/>
<meta http-equiv="Expires" content="-1"/>
B. 我添加了一个 PhaseListener 来添加 HTML 标头标签,如此处所建议的。
不幸的是,问题仍然存在。
可能相关的另一件事是,由于某种原因,我的导航不会更改浏览器地址栏中显示的 url。当我将鼠标悬停在 a4j:commandButtons 上时,状态栏中出现的链接始终是
http://localhost:7001/myapp/index.faces#
所以问题如下:
- 为什么会出现这个wyciwyg://20/前缀,我该如何克服呢?
- 从一个页面导航到另一个页面时,我可以做些什么来更改 url?这会使“后退按钮起作用”吗?
干杯!
更新 1:这里的这些人(葡萄牙语文本)说用 a4j:htmlCommandLink 替换所有 a4j:commandLink 可以解决问题。我做到了,他们是对的。我不明白原因,通过。