无重定向导航问题

时间:2013-07-02 23:04:04

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

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

我遇到了重复组件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 show case示例的相同代码,它对它们起作用。请查看此示例以使我的问题清晰,并尝试在左侧菜单中的相同组项和不同组之间导航,并注意重定向行为。 http://icefaces-showcase.icesoft.org/showcase.jsf

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

1 个答案:

答案 0 :(得分:0)

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

e.g。

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

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

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