【问题标题】:No-redirect Navigation issue无重定向导航问题
【发布时间】:2023-03-27 04:11:01
【问题描述】:

我在我的应用程序中使用了一种导航技术,它允许用户在同一业务组之间导航时保​​留视图并更改页面的一部分而无需重定向。当他们更改组时,应用程序会将他们重定向到新的组页面。

由于页面保留了最后一个视图,因此我正面临使用重复组件 ID 的无重定向技术的问题。

<ui:composition
    template="/WEB-INF/includes/templates/page-template.xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:c="http://java.sun.com/jstl/core"
    xmlns:ace="http://www.icefaces.org/icefaces/components"
    xmlns:ui="http://java.sun.com/jsf/facelets" >
<ui:define name="page-content">
    <ui:include src="#{navigationModel.currentBean.xhtmlPath}">
    </ui:include>
</ui:define>

上面的navigationModel bean负责改变所需部分页面的路径。

有没有办法避免更改部分页面的组件 ID。难道我做错了什么?

注 1:我正在使用 ICEfaces 展示案例示例中的相同代码,这对他们来说效果很好。请查看此示例以使我的问题更清楚,并尝试从左侧菜单中在相同的组项目和不同的组之间导航,并注意重定向行为。 http://icefaces-showcase.icesoft.org/showcase.jsf

注意 2:我正在使用带有 ICEfaces 3.2 的 JSF 2。

【问题讨论】:

  • 不知道你在说哪个例子。链接不指向一个。
  • 当您打开站点时,只需单击左侧菜单中的 ace:dataTable 并注意重定向,因为您正在从组更改为另一个。然后在 ace:datatable 中有一个子菜单,您可以单击任何内容并注意正确的内容更改而无需重定向。
  • 当我使用相同的方法时,该技术对我来说效果很好,但我的问题是,如果我有两个具有相同组件 ID 的页面,则会引发一个问题,而在展示案例示例中并非如此正如您从那里包含的代码中看到的那样。所以我认为我错过了一些东西。
  • 好的,我再看看。

标签: jsf jsf-2 java-ee-6 icefaces-3


【解决方案1】:

问题是因为我将不同页面中的 dataTable 绑定到不同的 bean 属性,但对 bean 属性使用相同的名称。

例如

pageA.xhtml
<ace:dataTable binding="#{pageABean.TableUC}">

pageB.xhtml
<ace:dataTable binding="#{pageBBean.TableUC}">

当我将 pageBBean 中的属性名称更改为 TableUC1 而不是 TableUC 时,问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-20
    • 2020-12-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多