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 のプロパティ名を TableUC ではなく TableUC1 に変更すると、問題は解決しました。

于 2014-02-11T18:35:55.207 に答える