0

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

由于页面保留了最后一个视图,因此我面临使用重复组件 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。

4

1 回答 1

0

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

例如

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

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

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

于 2014-02-11T18:35:55.207 回答