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項目と合わせて使用することで対応可能です。