2011-03-29

Force.com : メッセージを表示したい[Visualforceタグ]


メッセージを表示したい (<apex:pageMessages>)



◆ <apex:pageMessage> コンポーネント

<apex:page>
    <apex:pageMessages />
</apex:page>

属性備考
showDetail="(true|false)"
  • メッセージの詳細を表示するかを指定
  • デフォルト : false
  • 型 : Boolean
※ 詳細は apex:pageMessages を参照



◆ Message クラス

ApexPages.addMessage(new ApexPages.Message(ApexPages.severity, summary[, detail]));

引数備考
ApexPages.severity
  • レベルを指定する
    • CONFIRM
    • ERROR
    • FATAL
    • INFO
    • WARNING
summary
  • メッセージを指定する
detail
  • 詳細メッセージを指定する
※ 詳細は Message Class を参照



○ Visualforce ページでメッセージを表示したい

Ex.
  1. ボタンを押下する
  2. メッセージ(詳細含む)を表示する

■ Visualforce ページ
<apex:page controller="SampleController">
    <apex:form >
        <apex:commandButton value="button" action="{!redraw}" rerender="out" />
    </apex:form>
    <p />
    <apex:outputPanel id="out">
        <apex:pageMessages showDetail="true" />
    </apex:outputPanel>
</apex:page>


■ SampleController クラス
public with sharing class SampleController {
    /** 再描画処理 */
    public PageReference redraw() {
        ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.CONFIRM, 'summary - confirm', 'detail - confirm'));
        ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'summary - error', 'detail - error'));
        ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.FATAL, 'summary - fatal', 'detail - fatal'));
        ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO, 'summary - info', 'detail - info'));
        ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.WARNING, 'summary - warning', 'detail - warning'));
        return null;
    }
}


■ 画面イメージ


■ 備考
  • ApexPages.severity の表示順は上記の画像イメージの通り(だと思う)
  • ApexPages.severity が同じメッセージは追加された順に同じ枠にリスト形式で表示される
  • 同じメッセージ(※)は表示されない (※ summary と detail が同じ)
  • 同じメッセージは ApexPages.severity に関係なく最初に追加された ApexPages.severity に表示される



◇ 環境

  • Salesforce - Developer Edition - API バージョン 21.0



◇ 参考


0 件のコメント:

コメントを投稿