0

クライアント サーバー通信が JSP/js および Struts でどのように機能するかについて、まだ頭を悩ませています。アクションに Struts プロパティがあり、これを使用してページに表示できます だから、これは私にとってはうまくいきます。ページがロードされたときにテスト領域に動的に入力できるように、Javascript 内からこの値にアクセスできるようにしたいと考えています。私が使う

$(document).ready(function( data )
{
$('#contextsTextArea').html(data.myMessage);
});

しかし、これは機能しません。struts プロパティを格納する var を JSP に割り当て、JS でこの var を参照できることはわかっていますが、これを行うよりクリーンな方法はありますか?

4

2 に答える 2

0

あなたが話しているなら、あなたは代わりtextareaに使わなければなりません.val()。次のように。 $('#contextsTextArea').val(data.myMessage);

于 2012-09-14T18:06:56.400 に答える
0

JSPはサーバー上で実行され、JavaScriptはブラウザー上で実行されます。

'myMessage'のようなJSP変数をJavaScriptの変数として使用することはできません。ただし、サーバー上でテキストに変換して、ブラウザに到達したときにJSとして機能するようにすることはできます。したがって、次のようなものを試してください。

$('#contextsTextArea').val('<s:property value="myMessage"/>')

このJSPがサーバーで処理されると、JSコードはテキストとして残され、タグはmyMessage変数のテキストに変換されます。

myMessageをJSでエスケープする必要があることに注意してください。そうしないと、たとえば、メッセージに一重引用符が含まれている場合、JSは壊れます。

ここで何が起こっているのかを理解するには、ページのソースを見てください。

于 2012-09-14T20:35:35.543 に答える