[Seasar-user:13952] Re: [Teeda]Foreach + 動的バリデーションのIndex番号の取得について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 4月 25日 (金) 17:00:46 JST
小林 (koichik) です.
Date: 25 Apr 2008 16:02:21 +0900
From: [E-MAIL ADDRESS DELETED]
To: <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:13951] Re: [Teeda]Foreach + 動的バリデーションのIndex番号の取得について
> 下記の方法で試させて頂きました。
> xxxItems-1に、yyyMessageを挿入したら表示されませんでした。
> xxxItems-2に、yyyMessageのほうに挿入したら表示されるようになりました。
>
> 同じ、Items内でしか、Messageの表示は駄目なんですね。
あう,それは失礼しました.
コンポーネントの clientId が form:xxxItems-2:0:yyy
のようになり,メッセージの方は form:xxxItems-1:0:yyy
で探しにいっちゃうせいですね...
となると,自前でメッセージを取ってきて
outputText で表示することになりますか.
HTML は
<span id="yyyMsg"></span>
のように末尾を Message 以外にして,
ページクラスで
public String getYyyMsg() {
StringBuilder msg = new StringBuilder();
FacesContext context =
for (int i = 0; i < xxxItems.size(); ++i) {
Iterator<FacesMessage> it = context.getMessages("form:xxxItems:" + i + ":yyy");
while (it.hasNext()) {
String msg = it.next().getDetail();
msg.append(msg); //必要に応じて整形
}
}
return new StringBuilder(msg);
}
みたいな.
# メーラで書いただけなので怪しいかも.
FacesContext#getMessage() の引数は以下のパラメータ名と
同じになります.
http://teeda.seasar.org/ja/extension/reverse/validation.html#getValidatorメソッドの中でリクエストパラメータを参照するには
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内