【问题标题】:Are there any JSF components for implementing breadcrumb navigation?是否有用于实现面包屑导航的 JSF 组件?
【发布时间】:2011-02-18 01:54:57
【问题描述】:

据我所知,有两种“类型”的面包屑。

静态/层次结构

  • 像堆栈一样工作
  • 当用户“深入”到网站时,会推送条目
  • 当用户“向上”进入网站时会弹出条目
  • 对所有用户都相同(对于给定页面)
  • 显示位置而不是历史

一个简单的例子是 HOME -> BIG CATEGORY -> SMALL CATEGORY -> ARTICLE

动态的/历史的

  • 像队列一样工作
  • 当用户转到另一个页面时,条目会在最后推送
  • 达到最大尺寸时从前面删除条目
  • 每个用户都不同,因为它是个性化的。
  • 显示时间线/历史记录而不是位置。

一个简单的例子是 SMALL CATEGORY -> HOME -> BIG CATEGORY -> HOME

问题是:

是否有任何现成的 JSF 组件用于这些类型的导航?

【问题讨论】:

    标签: java jsf navigation breadcrumbs


    【解决方案1】:

    见 primefaces,有很多组件,你也可以找到面包屑 http://www.primefaces.org:8080/showcase/ui/breadCrumb.jsf

    【讨论】:

    • 很好,但这只是演示部分。我对利用 JSF 的后端部分感兴趣。我可以很容易地用 jQuery/CSS 为用户创建一个有吸引力的面包屑。
    • @kazanaki:你在自相矛盾。您要求的是 JSF 组件。但是您显然对如何自己实现一个更感兴趣。嗯,它是开源的。看一看。特立尼达也有一个。
    • @BalusC:我明白你在说什么,也许我的问题不清楚。假设我选择了 primeface 组件。然后,除非我弄错了,否则我仍然需要手动创建一个服务器端数据结构,primefaces 只会渲染。我期望插入 FACEScontext 并自动跟踪页面重定向的东西。否则,除了这个数据结构上的简单迭代器和 h:outputtext 之外,我从 primefaces 中得到什么?我不想自己实现任何东西。更少的代码是最好的。但是我用 primefaces 组件填充它并没有真正获得任何东西。
    • 您基本上想要一个将当前 URL 或 viewid 添加到会话范围内的某个列表的 3rd 方过滤器或阶段监听器?
    • @BalusC 是的,这样的东西会很棒!
    【解决方案2】:

    我也有同样的问题!但我觉得解决方案将是@BalusC 提到的解决方案

    现在,我只使用面包屑来获取当前视图路径。

     <h:form id="breadcrumb">
                            <p:breadCrumb>
                                <p:menuitem value="#{bundle.Index}" action="/index?faces-redirect=true" immediate="true"/>
                                <p:menuitem value="#{view.viewId.substring(0, view.viewId.length()-6)}" url="#{view.viewId.substring(0, view.viewId.length()-6)}.jsf" ajax="false"/>
    
                            </p:breadCrumb>
                        </h:form>
    

    我使用 .jsf 作为 Faces URL 模式,并且由于 viewid = /*.xhtml**,我不得不对其进行子串化,删除 .xhtml 子字符串并添加 .jsf 字符串。

    所以我们需要一个支持 bean 来完成获取 viewid(路径)并将其放入有序列表的工作。 javascript:history.back() 和 history.forward() 的使用也是可以的!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多