私はSeam 3国際化パッケージを使用してアプリケーションでメッセージングを実装しています。Seam3国際化メッセージのカスタマイズ
を必要なクラス注入/インポート:要するに
が、これは私がやっているものです
messages.error(new BundleKey("AppMsgResources", "errorMsgKey")).defaults("Error: Something bad happened!");
:エラーが発生した場合
import org.jboss.seam.international.status.Messages;
import javax.inject.Inject;
@Inject
private Messages messages;
を、私は私のバッキングBeanでのメッセージを作成します
最後に、私の顔のページにメッセージを表示します。
<h:messages />
これまでのところ、私は考えて非常に標準
...
私が実装するカスタム・ロジックは、最初にデータベーステーブルをチェックできるようにすることです、一致するメッセージキーのために(この表のMessageBundleOverrideを呼び出すことができます)。存在する場合は、プロパティファイルではなくMessageBundleOverrideテーブルの値を使用します。存在しないか空であれば、プロパティファイルにある値を使用します。
メッセージインターフェイスを実装してシームに登録することができるWeld/CDIの方法があると思っています。これは、メッセージインプリメンテーションを「注入」の間に選択し、デフォルトのMessagesImpl実装ではなくSeam Internationalizationパッケージが付属しています。私はSeam/Weldに少し新しくなっているので、これが簡単なことなのかどうかは分かりません。
お手数ですが、 ありがとうございます!