0

jsfページでインラインフレームを使用して、さまざまなcommandMenuItemに好まれるさまざまなjsffページをレンダリングしていますが、ページが適切にレンダリングされず、メッセージが表示されます

この XML ファイルには、スタイル情報が関連付けられていないようです。ドキュメントツリーを以下に示します。

ページのコンテンツを次のように表示する

この問題を克服し、インライン フレーム内にページを適切に表示する方法。jsffページを別のウィンドウで別々に実行したときに、ページがインラインフレーム内で同様に表示されるようにします。

4

2 に答える 2

2

インライン フレームを使用して jsff ページを参照することはできません。jsff ページをタスク フローに追加してタスク フローを領域として追加するか、jsp:include タグを使用して、jsff ページを含めることができます。

このガイドをチェックしてくださいhttp://docs.oracle.com/cd/E23943_01/web.1111/b31973/af_reuse.htm#CACHFJDJ

于 2013-03-20T12:08:42.550 に答える
0

jsffページにはcssとスタイル情報が含まれていないため、インラインフレーム内に正しく表示されません。代わりに、インラインフレーム内に完全なjsfページを表示できます。これで、動的jsfページを内に表示できます。 jsfページからcommandMenuItemをクリックしたときのインラインフレーム...手順は以下のとおりです。

  1. 最初にjsfページを作成します(welcome.jsfとしましょう)..commanMenuItemを追加します...
  2. コンテンツを含む他の2つのjsfページを作成します。
  3. 最初のjsfページ(welcome.jsf)で、作成された2つの異なるページと同じcommandMenuItemのIDを記述します。commandMenuItem 1 id="first"およびcommandMenuItem2id= "second"であり、他の2つの異なるページの名前はfirstおよびsecondと同じである必要があります。
  4. ここで、commandMenuItemにアクションリスナーBeanを作成します

    インポートjavax.faces.event.ActionEvent;

パブリッククラスPageBean{

String page = "home";//setting default page

public PageBean() {
}

public void getMenu(ActionEvent actionEvent) {
    // Add event code here...

    String id = actionEvent.getComponent().getId();
    System.out.println(" Menu ID : "+id);
    page = id;
    System.out.println("Value assigned to the page from the menu Id is :"+page);
}

public String getPage() {
    return page;
}

public void setPage(String page) {
    this.page = page;
}

}

今度はsecondCommandMeuItemにも同じactionListnerBeanを登録します

メニューを含むメインページのコード...

<af:panelGroupLayout id="pgl1">
<af:menuBar id="mb1">
<af:menu text="menu 1" id="m1">
<af:commandMenuItem text="commandMenuItem 1" id="page1" actionListener="#{PageBean.getMenu}">
                <a4j:support event="onclick" reRender="if1"/>
            </af:commandMenuItem>
        </af:menu>
        <af:menu text="menu 2" id="m2">
            <af:commandMenuItem text="commandMenuItem 2" id="page2" actionListener="#{PageBean.getMenu}">
                <a4j:support event="onclick" reRender="if1"/>
            </af:commandMenuItem>
        </af:menu>
    </af:menuBar>
    <af:inlineFrame id="if1" source="#{PageBean.page}.jsf" shortDesc="areaMp" partialTriggers="page1 page2"/><!-- getting dynamic page source from the managed bean variable(page) by fetching the menu id which is similar to the corresponding page name
also add the commandMenuId of the menu's in the partial trigger of the inline frame. -->
</af:panelGroupLayout>

インラインフレーム内にjsfページを含めて表示でき、jsfページだけでなくjsff(ページフラグメント)でもインラインフレームを使用できます。

于 2013-03-22T06:27:10.987 に答える