ApexでApexpages Messagesの取得及びカスタマイズ

ご存知の通り、apex:pageMessages タグで、現在のページのすべてのコンポーネントに対して生成されたすべてのメッセージを、Salesforceスタイルで表示することができます。
使い方は次のソースコードのように:

Controller Class(CommunitiesSelfRegController)


Visualforce Page(CommunitiesSelfReg)


但しSalesforce標準コンポネントで生成されたメッセージに対して、例えばSiteクラスでユーザログインする時に、カスタマイズしたい場合どう実装しますか? 実はApexpagesクラスからそのメッセージが取得することができます。実装方法は次のソースコードのように:

Controller Class(LoginController)

Visualforce Page



Enjoy it!