2007年4月9日月曜日

Teeda メッセージ出力

ボタンのイベントハンドラ等でメッセージを出力する方法。

(1)メッセージリソースのIDを指定する方法
FacesContextUtils.addInfoMessage(String messageId, Object[] args);
FacesContextUtils.addErrorMessage(String messageId, Object[] args);
FacesContextUtils.addFatalMessage(String messageId, Object[] args);
FacesContextUtils.addWarnMessage(String messageId, Object[] args);

(2)任意の文字列を出力する方法
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(clientId, new FacesMessage(メッセージ文字列));

clientIdは

<form id="hogeForm">
<input type="text" id="hogeField"/>
</form>

の場合、"hogeForm:hogeField"となる。

メッセージの種類を設定するには
new FacesMessage(Severity severity, ~)
を使用する。
SeverityはFacesMessageに
public static final Severity SEVERITY_INFO = new Severity("INFO", 1);
public static final Severity SEVERITY_WARN = new Severity("WARN", 2);
public static final Severity SEVERITY_ERROR = new Severity("ERROR", 3);
public static final Severity SEVERITY_FATAL = new Severity("FATAL", 4);
として定義されている。

※メッセージリソースはデフォルトではappMessages(_ja).properitiesになる。

参考)
http://d.hatena.ne.jp/shot6/20070129

0 件のコメント: