我在我的应用程序中使用导航技术,允许用户在同一业务组之间导航时保留视图并更改页面的一部分而不进行重定向。当他们更改组时,应用程序会将它们重定向到新的组页面。
我遇到了重复组件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.
答案 0 :(得分:0)
问题是因为我将不同页面中的dataTable绑定到不同的bean属性,但是对bean属性使用相同的名称。
e.g。
pageA.xhtml
<ace:dataTable binding="#{pageABean.TableUC}">
pageB.xhtml
<ace:dataTable binding="#{pageBBean.TableUC}">
当我将pageBBean中的属性名称更改为TableUC1而不是TableUC时,问题就解决了。