apc*_*cuk 7 javascript ajax browser-history jsf-2
我使用JSF 2 PrettyFaces,也是<h:link>和<f:param>标签广泛地获得可收藏的页面(这是伟大的最终忘记在JSF应用程序所有的POST请求).
但是,其中一些链接只会更改页面的一小部分(主要是当用户停留在同一视图中时),因此发送ajax请求会更好.但是,<f:ajax>不能用<h:link>,只是<h:commandlink>.我也可以使用commandlink以多种方式发送参数,但在这种情况下,URL在请求后保持不变.因此它与页面内容不同步,并且不可刷新.
我已经看到使用链接发送GET和ajax请求(在使用ajax修改页面时指向新URL)的网站,但到目前为止我还没有找到任何解决方案.
在ajax请求完成后(或用户点击时),我可以用jsf以某种方式刷新URL吗?或者我是否必须使用一些外部JS库?
编辑:这里需要的JS库是新的JavaScript History API.更多信息. 我猜JSF目前不使用这个API.但是我仍然从JSF开发人员的角度对这个问题感兴趣.
此外,它是否计划在未来发布JSF?结合<f:ajax>使用<h:link>将是一个完美的解决方案.
Ole*_*ika -1
<f:ajax>具有属性onevent。javascript它采用成功完成后将调用的函数名称ajax request。因此可以添加 js 函数,该函数将在 ajax 调用完成后导航到所需的 url。就像是:
<h:commandLink id="testButton"
value="Test">
<f:ajax event="action"
execute="@form"
render="@none"
listener="#{myBean.testButtonClickedHandler}"
onevent="navigate"/>
</h:commandLink>
<script type="text/javascript">
function navigate() {
window.location.href = "required url";
}
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1799 次 |
| 最近记录: |