- - PR -
【struts】メッセージリソースをjs関数のappendChild()で出力する方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-09-12 14:49
お世話になっております。
struts(java)に関連したご質問なので、 こちらのスレッドであげさせて頂きました。 処理上の理由で、strutsのvalidatorが使用できない為、 javaScriptのappendChild()を使用し、エラー文字をjspに出力させております。 (下記のソースを参照願います。) ご質問の内容として、文字列は出力させることは出来るのですが、 メッセージリソースとして、jspに表示させる方法は可能なのでしょうか? jsp------------------------------------ <html:form action="***"> <html:text property="date1"> <html:submit property="submit" value="送信" onclick="submitOn()"/> <%-- エラー出力 --%> <font color="red"><p id="pic">(※1)</p></font> (※1)この箇所に<bean:message key="****"/>の 文字列を出力させたいです。 </html:form> --------------------------------------- ↓文字列出力のソースではございますが、 記載させて頂きます。 js------------------------------------ function submitOn() { if(document.forms[0].date1.value == ""){ var textNode = document.createTextNode("エラーです"); var ele = document.createElement("pic"); ele.appendChild(textNode); document.getElementById("pic").appendChild(ele); return false; } } --------------------------------------- お忙しいところ、大変申し訳ございませんが、 どなたかアドバイスを頂けませんでしょうか? 宜しくお願い致します。 | ||||
|
投稿日時: 2007-09-12 15:22
javascriptが動くのはクライアントにレスポンスが返った後なので
「メッセージリソースとして、jspに」ってのは無理でしょう。 とはいえ、 var textNode = document.createTextNode('<bean:message key="****"/>'); とかしたらできちゃうのかな。(jsをjspに書いてるなら) ただ、 <p id="pic"><bean:message key="****"/></p></font> としといてpicの可視不可視を切り替えた方がいいような気がします。 | ||||
|
投稿日時: 2007-09-12 15:40
べる様
ご回答ありがとうございます。 私も試行錯誤する中、 べる様と同じことを実践してみたのですが、 1.textNode = document.createTextNode('<bean:message key="****"/>'); の場合、出力時に<bean:message key="****"/>とまんま文字列として、 表示されてしまいます。 2.<p id="pic"><bean:message key="****"/></p></font> の場合、何故か可視不可視されず、最初からリソースファイルの 文字列を出力してしまっています。 他に方法はございますでしょうか? | ||||
|
投稿日時: 2007-09-12 16:48
<p id="pic">を、スタイルシートのdisplayかvisibilityで見えないようにしておき、 必要に応じてjavascriptでスタイルを操作するってのがいいと思います。 | ||||
|
投稿日時: 2007-09-12 17:27
べる様
ご回答ありがとうございます。 スタイルシートを使ったことがなかったので、 ググッて調べてみたのですが、 どれもソースが細かくて分かりづらいもの ばかりでした。 出来ましたら、どのようにスタイルシートを記載すれば 予想通り動くようになるのか、ご教授願えませんでしょうか? お忙しいところ、大変申し訳ございません。 宜しくお願い致します。 | ||||
|
投稿日時: 2007-09-12 17:39
すみません。
下記のサイトを参考にしたところ、 予想通り、動くことができました。 js---------------------------------------------------- document.getElementById("pic").style.display='block'; ------------------------------------------------------ jsp--------------------------------------------------- <p id="pic" style="display: none"><bean:message key="********"/></pic> ------------------------------------------------------ べら様、本当にありがとうございました。 http://www.tuyudaku.net/javascript/popup.html |
1