2009-09-22 17 views
-1

私はSeamフォームページをたくさん持っています。それぞれにカスタムユーティリティクラスのsendEmail()メソッドを呼び出すコマンドボタンがあります。この方法は、次のようになります。Seamページのパラメータはどのように使用しますか?

public String sendEmail(String mailFile) throws SMTPSendFailedException { 
    status = "Processing email now..."; 
    renderer.render(mailFile); 
    status = "Email sent successfully."; 
    renderer = null; 

    return "/index.xhtml"; 
} 

ボタンは次のようになります。

<a4j:commandButton action="#{utilities.sendEmail('/form2/mail.xhtml')}" /> 

のsendEmail()メソッドは、フォームにリダイレクトするためのいるindex.xhtmlページを返します。また、インデックスページにはすべてのフォームのリストがあり、ユーザーが最初にアプリを使い始めたときに到着する場所です。

ユーザーが電子メールを送信したとき、またはユーザーがリンクを介してページにアクセスしたときに、何も表示しないで、成功または失敗のメッセージを表示したいとします。 Seamのページパラメータを使ってindex.xhtmlにメッセージを受け取ったことを伝えますか?

お手数をおかけします。ありがとう。

答えて

3

あなたは、ページパラメータでそれを行うことができますが、最も簡単な方法は、ちょうど縫い目のfacesMessagesのを経由してメッセージを追加しているindex.xhtmlファイルでそれを表示するには、次のようになります。

@In 
private FacesMessages facesMessages; 

[...] 

facesMessages.add(Severity.INFO, "Mail sent"); 

いるindex.xhtml:

<h:messages /> 

また、あなたのビューをリダイレクトし、そこからメッセージを追加するSeam navigationを見てみることができます。

+0

ありがとう、エルマー。それはまさに私が必要なものです:) – Alex

+0

申し訳ありません。 "チェックマーク"をクリックすることで、私は正しい答えを示すことができることを認識していませんでした。完了:) – Alex

関連する問題