2011-12-06 7 views
0

あなたはより良いプラクティスをどう思いますか?JavascriptのStrutsタグ

あなたは(JavaScriptで)行うだろう:

var aaa = <s:property value="myValue"/>; 

というか(JSPファイル内):(ジャバスクリプト内)で

<s:hidden name="myValue" id="myValue" /> 

var bbb = document.getElementById("myValue").value; 

答えて

1

することができます両方の方法で望ましい結果を達成してください。ただ問題は個々の味と好みです。

私は物事を混ぜることを好まず、隠されたフィールドを使用して2番目の方法で行くでしょう。私にとっては2つの目的を果たします。

  1. JavaScriptからmy struts2タグを分離しています。私はむしろ
1

はあなたが示されてきたものを含む多くの方法、あります物事を混合標準のJavaScriptメソッドを持つ単純なきれいなJavaScriptコードを書くことができる上

  • より。

    あなたも可能性がありますあなたのJSファイルが含まれている前に、JSPプロセッサによる

    • パスのJavaScriptファイル
    • (FreeMarkerのような)ダイナミックなJSのためのさまざまなテンプレート言語を使用し
    • が評価JSONオブジェクトを放ち(例えば、隠されたdivの内容はJSの副作用のためにのみ評価されます)
    • 機能が起動する前にページ読み込み時に同じJSONオブジェクトのAjax呼び出しを行います

    おそらくもう少しです。私は隠されたフィールドを好まないのは、どのフォームの値が重要か、そうでないかが非常にはっきりしていない限り、フォームが隠されている(別のフォームのように)送信されていない場合です。

  • 2

    まあ、私は思う。 .jspとして保存しない限り、JSファイルでstruts2タグを使用することはできません。あなたがこれを行うか、あなたのページにJSコードがある場合、タグはサーバで処理されるので、私は個人的に最初のオプションに問題はありません。これは、単純な割り当てがある場合によく使用されます。
    コードを少し醜いものにし、メンテナンスの問題を引き起こす可能性があるので、2番目のオプションが気に入らない。
    JSとサーバーのサイドコードを分離する方が良い方法です。あなたが物事を混ぜ合わせていると分かったら、あなたのデザインをどこかで見ることができます。 もう一度やりたいことにかかっています。

    関連する問題