首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用JSF ajax请求刷新URL

使用JSF ajax请求刷新URL
EN

Stack Overflow用户
提问于 2012-09-22 18:12:56
回答 1查看 2K关注 0票数 7

我正在将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历史API。更多信息。我猜JSF目前不使用这个API。但从JSF开发人员的角度来看,我仍然对这个问题感兴趣。

另外,它是否计划在未来发布JSF?将<f:ajax><h:link>相结合将是一个完美的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2014-10-06 16:18:17

<f:ajax>具有属性onevent。它采用javascript函数的名称,该函数将在ajax request成功完成后调用。因此,可以添加js函数,在ajax调用完成后导航到所需的url。类似于:

代码语言:javascript
运行
复制
        <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>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12546438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档