ErrorMessageの有無について

http://d.hatena.ne.jp/wataka/20060827#1156685818
の件についてですが、コメント欄には少し長くなりそうなのでこちらに回答します。

まず、実装例はs2jsf-exampleのvalidator.htmlが参考になると思います。
具体的には、exampleには下記のような実装例があります。

<span m:rendered="#{errorMessageFinder.errorMessage == false}">No Error Messages</span> <br />
<span m:rendered="#{errorMessageFinder.errorMessage}">Error Messages!!!</span> <br />

#{errorMessageFinder.errorMessage}の戻りがtrue/falseなので
戻りに応じて表示を切り替える事が可能です。

errorMessageFinderは、errorMessageFinderというコンポーネント名でjsf.diconに登録されています。

<component
    name="errorMessageFinder"
    class="org.seasar.jsf.util.ErrorMessageFinder" />

このクラスの実装はいたってシンプルで

public boolean isErrorMessage() {
    FacesContext context = FacesContext.getCurrentInstance();
    Iterator it = context.getMessages();
    return it.hasNext();
}

となっています。

Action内では上記 isErrorMEssage() と同様の処理を記述する事でエラーの有無の判定を行う事が可能です。

JavaScriptの処理の条件にしたい場合は、hidden項目と合わせて使用することで対応可能です。