我正在使用 JSF 2 和 PrettyFaces 以及广泛的<h:link>
和<f:param>
标签来获取可收藏的页面(最终忘记 JSF 应用程序中的所有这些 POST 请求真是太好了)。
然而,其中一些链接只改变了页面的一小部分(主要是当用户停留在同一个视图中时),所以发送 ajax 请求会更好。但是,<f:ajax>
不能与<h:link>
,一起使用<h:commandlink>
。我也可以使用命令链接以多种方式发送参数,但在这种情况下,请求后 URL 保持不变。所以它变得与页面内容不同步,并且不可刷新。
我已经看到使用发送混合 GET 和 ajax 请求的链接的网站(在使用 ajax 修改页面时指向新的 url),但到目前为止我还没有找到任何解决方案。
在 ajax 请求完成后(或当用户单击时),我可以以某种方式用 jsf 刷新 url 吗?还是我必须使用一些外部 JS 库?
编辑:这里需要的 JS 库是新的 JavaScript History API。更多信息。 我猜 JSF 目前不使用这个 API。但从 JSF 开发人员的角度来看,我仍然对这个问题感兴趣。
另外,是否计划在 JSF 的未来版本中发布?结合<f:ajax>
将<h:link>
是一个完美的解决方案。