如何从java代码更新URL



我正在寻找的是一个简单的方法来更新浏览器的URL。

我已经为我的primefaces数据表添加了深度链接,这样:

some_url?filter=column:value;column:value

将使用url中的给定值自动过滤我的页面上的dataTable。

    <f:viewParam name="filter" value="#{NewsBean.items.settings.deepLink}"/>
    <h:form id="NewsForm">
        <f:event type="preRenderView" listener="#{NewsBean.items.deepLinkAction}" />
        <p:dataTable .... >

"deepLink"保存字符串,"deepLinkAction"解析字符串并过滤数据表。

现在我想更新过滤数据表的URL。当filterEvent被触发时,"deepLink"的字符串被更新为具有给定模式的过滤值。但我怎么能实现,我的深链接的字符串显示在URL。由于双重过滤和双重数据库访问,我不想重新加载页面。

是否有任何客户端解决方案只是为了显示URL。我不想要另一个按钮。

谢谢

您现在可以在大多数现代浏览器中执行此操作。准备好新URL后,可以使用pushState方法,如下所示。

var newURL="/new-url";
window.history.pushState({}, "Page Title", newURL);

了解更多信息,请访问这里。但是,您希望在java代码中完成此工作,因此我建议您在java类中准备url,然后使用AJAX将url传输到客户端,然后使用pushState.

相关内容

  • 没有找到相关文章

最新更新