栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

具有浏览器历史记录/标签的PrimeFaces Ajax导航

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

具有浏览器历史记录/标签的PrimeFaces Ajax导航

我创建了一个博客文章,根据您的问题解释如何使用jQuery BBQ使其工作。

使用jQuery BBQ,您可以跟踪状态,历史记录并允许添加书签,同时通过AJAX和/或DHTML动态修改页面。

首先,我们应该包括jQuery BBQ。

<h:outputscript library="js" name="jquery.ba-bbq.min.js" />

现在考虑我们有菜单(包含所有导航规则)

  <p:submenu label="Meat">     <p:menuitem outcome="/meat/steak.xhtml" value="Steak" />     <p:menuitem outcome="/meat/burger.xhtml" value="Burger" />     <p:menuitem outcome="/meat/chicken.xhtml" value="Chicken" />      <p:menuitem outcome="/meat/kebab.xhtml" value="Kebab" />   </p:submenu>

然后居中的内容

 <pe:layoutPane id="content" position="center">     <h:panelGroup id="centerpanel" layout="block">        <ui:include id="include" src="#{mainBean.currentNav}" />     </h:panelGroup>  </pe:layoutPane>

包括 反映点击currentNav。

现在在表单中定义一个 remoteCommand

<p:remoteCommand name="updateNav"       actionListener="#{mainBean.updateNav()}"        update=":centerpanel"/>

这个remoteCommand将基于主题标签更新我们的currentNav。

创建您的JS文件或将以下代码包含到文档中

$(document).ready(function() {   $('.ui-menuitem-link').click(function(event) {       event.preventDefault();       var currentNav = $(this).attr('href').  substr($(this).attr('href').indexOf("/faces") + 6)       window.location.hash = '#' + currentNav;   })   $(window).bind('hashchange', function(e) {    var url = $.param.fragment();    updateNav([{name: 'currentNav', value: url}]); //remoteCommand Call   })   $(window).trigger('hashchange'); });

基本上,首先,我们处理对菜单项的单击,设置窗口的哈希值。

然后使用jQuery BBQ定义窗口的hashchange事件。

ManagedBean

public void updateNav() {    FacesContext context = FacesContext.getCurrentInstance();    Map map = context.getExternalContext().getRequestParameterMap();    currentNav = (String) map.get("currentNav");}

有关完整的代码,请参阅我为该问题创建的新帖子。

使用jQuery BBQ的Primefaces哈希导航

这个例子也可以在github上找到。

希望能帮助到你。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号