项目之间的JSF动态面包屑

时间:2015-02-25 15:10:41

标签: jsf breadcrumbs

这可能有点令人困惑,但我会尽力清楚。

我有三个项目。一个是注册表系统,它存储两个应用程序之间共享的信息。

使用应用程序1和应用程序2,您可以访问应该将面包屑返回到特定应用程序主页的注册表。

到目前为止我所拥有的是一个bean,它可以确定哪个应用程序处于活动状态并返回所请求页面的相应URL。问题是我的UI不接受网址。

<ui:define name="breadcrumbContent">
    <h:form id="headerForm">
        <ol class="breadcrumb">
            <li><h:link value="#{i18n.recordList}" immediate="true"
                    outcome="#{breadCrumbNavigator.navigatingPage}">
                    <f:param name="pageToGoTo" value="faces/produceManager/index.xhtml"></f:param>
                </h:link></li>
            <li><h:link value="#{i18n.businessRegistry}" immediate="true"
                    outcome="#{breadCrumbNavigator.navigatingPage}">
                </h:link></li>
        </ol>
    </h:form>
</ui:define>

这给了我两个错误

This link is disabled because a navigation case could not be matched.
enter code here

Unable to find matching navigation case from view ID '/produceManager/list.xhtml' for outcome '/ss/faces/index.xhtml'

在bean中我有URL硬编码。无论是否有本地主机:9080&#39;我都试过这个。字首。我有点迷失在这一点上。其他人用面包屑做这样的事情吗?

1 个答案:

答案 0 :(得分:0)

原来很简单!

我所要做的就是在faces config中定义一个导航案例并使用命令链接。

<ui:define name="breadcrumbContent">
    <h:form id="headerForm">
        <ol class="breadcrumb">
            <li><h:commandLink value="#{i18n.recordList}" immediate="true"
                    action="#{breadCrumbNavigator.getNavigatingPage}">
                    <f:param name="pageToGoTo" value="goToDashboard"></f:param>
                </h:commandLink></li>
            <li><h:commandLink value="#{i18n.businessRegistry}" immediate="true"
                    actions="#{breadCrumbNavigator.navigatingPage}">
                    <f:param name="pageToGoTo" value="goToProducerManager"></f:param>
                </h:commandLink></li>
        </ol>
    </h:form>
</ui:define>