2017-05-19 2 views
0

私はJSFとUIが初めてです。 サブメニューをクリックすると、ビジネスロジックが実行され、その後にページがレンダリングされます。私はスニペットの下で試してみましたが、そのページはレンダリングされていますが、actionListenerは実行されていません。 url部分を削除すると、actionListenerが動作していますが、今はページのレンダリングのように固執しています。urlとactionListenerを一緒に配置できません

<ace:menuItem id="RedactionCapture" value="Redaction" 
    actionListener="#{redactionController.getRedactionList}" 
    url="#{firmUtility.legalHoldCreationOrRemovalUrl}" 
    style="width:220px" styleClass="dropdownmenu" 
    target="imagepgframe"> 
</ace:menuItem> 

答えて

2

これは予想される動作です。 actionListenerは、URLではなくactionのリスナーです。 actionを作成して、リスナーと組み合わせてURLにリダイレクトするか、アクション内のすべての作業を行うことができます。これはIceFacesの場合だけでなく、PrimeFacesの場合も同様です。

例えば(リスナー)、XHTML:

<ace:menuItem action="#{yourBean.redirect(firmUtility.legalHoldCreationOrRemovalUrl)}" 
       actionListener="#{redactionController.getRedactionList}" 
       ... /> 

ビーン:

public void redirect(String url) throws IOException { 
    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); 
    externalContext.redirect(url); 
} 

見る:

+0

私に例を挙げて助けてもらえますか?どうやってやるの。 –

+0

@AviteshKesharwani私は例を追加しました。 –

+0

あなたの問題を解決する答えを受け入れてください! –

関連する問題