0

jsf ポートレット (primefaces 3.2) を開発しようとしています。

データテーブルを表示する jsf ポートレットを作成しました。データテーブル内にボタンが 1 つあります。

そのボタンをクリックすると、jsp ページが開きます。実際には機能していません。

私はこの方法を使用してそれを達成しようとしています。

<div style="text-align:right">
                        <p:lightBox iframe="true" width="1000" height="840">
                            <h:outputLink
                             value="./next.jsp">
                                <p:commandButton value="Add" icon="ui-icon ui-icon-plusthick" style="margin:3px;display: table-cell;vertical-align: middle;"/>
                            </h:outputLink>
                        </p:lightBox>
                    </div>

私の現在の portletViewMode.xhtml (ポートレット表示ページ) と next.jsp は、ポートレット内 (xhtml フォルダー内) にあります。

jsf-portlet を作成すると作成される jsf ビュー (portletViewMode.xhtml) です。そのビューには、ボタンがある内部にデータテーブルが表示されています。

そのボタンをクリックすると、ライト ボックスとして機能する JSP ページに移動できるはずです。したがって、閉じると、以前の JSF ビューが表示されるはずです。

そのため、ボタン(jsfコンポーネント)のアクションでjsfビューから別のjspページに移動しようとしています。

そのために私は何をする必要がありますか?jsfビューから他のページに移動しようとした人はいますか?

4

1 に答える 1

1

p:lightBoxを間違った方法で使用しています。

Primefaces ホームページの例では、ページ コンテンツを表示するためにp:lightBoxwithを使用する必要があります。iframe="true"

を でラップするh:commandButtonことh:outputLinkは、最も洗練されたソリューションではありません。シンプルなものを使用できますが、次のh:buttonものでも機能しますh:commandButton

<p:lightBox iframe="true">
    <h:outputLink value="page2.xhtml"  >  
        <h:commandButton action="#" value="Next page" />  
    </h:outputLink>  
</p:lightBox>

iFrame のコンテンツは のvalue属性に入れる必要があることに注意してくださいh:outputLink

さらに、JSP と Primefaces は機能しません。フェイスレットのみを使用してください。

于 2012-04-30T10:46:18.047 に答える