8

私が知る限り、ブレッドクラムには 2 つの「種類」があります。

静的/階層的なもの

  • スタックのように動作
  • ユーザーがサイトに「深く」入ると、エントリがプッシュされます
  • ユーザーがサイトに「上」に行くと、エントリがポップされます
  • すべてのユーザーに対して同じです (特定のページに対して)
  • 履歴ではなく場所を表示

簡単な例は、HOME -> BIG CATEGORY -> SMALL CATEGORY -> ARTICLE です。

動的/歴史的なもの

  • キューのように機能します
  • ユーザーが別のページに移動すると、エントリは最後にプッシュされます
  • 最大サイズに達すると、エントリは前面から削除されます
  • パーソナライズされているため、ユーザーごとに異なります。
  • 場所の代わりにタイムライン/履歴を表示します。

簡単な例は、SMALL CATEGORY -> HOME -> BIG CATEGORY -> HOME です。

質問は:

これらのタイプのナビゲーション用の既製の JSF コンポーネントはありますか?

4

2 に答える 2

2

多くのコンポーネントがあり、ブレッドクラムも見つけることができます http://www.primefaces.org:8080/showcase/ui/breadCrumb.jsf

于 2010-05-11T10:16:08.813 に答える
0

私は同じ問題を抱えています!しかし、解決策は@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>

Faces URL パターンとして.jsfを使用しています。viewid = / * .xhtml** であるため、サブストリングを作成し、.xhtml サブストリングを削除して、.jsf 文字列を追加する必要がありました。

そのため、ビュー ID (パス) を取得し、それを順序付きリストに配置するバッキング Bean が必要です。と history.forward()の使用javascript:history.back()も可能です!

于 2011-05-19T14:53:14.037 に答える