2011-12-07 8 views
0

これは可能ですか?私は、Javaサーブレットからデータを引き出すためにはJavaScript、AJAXとJSONを使用していると私は私が(ジャバスクリプト内のHTMLの大きな塊を作るとは反対に)私のHTMLの中に作成するjavascript配列の要素を表示したいと思います。私は私のhtmlを使ってうまくいくことができることを知っている:表示JavaScript変数

<script>document.write(arrayVar[0].firstName);</script> 

しかし、私はそれを避けたい。過去に私はJSTLとELタグを使ってサーバーからデータを取得しましたが、純粋にjavascriptでこれを行う同様の方法はありますか?私は外部ライブラリを使用することに反対しません - 私はJSの経験がたくさんあるので、私はちょうど何かを知らない。

答えて

1

あなたはhttp://mustache.github.com/または私はこれらが廃止されることを理解もののunderscore.js(またはjQueryのテンプレート(付属していたもの)のような任意のJavaScriptのテンプレート化ライブラリを使用することができます。Javascriptのテンプレートは、おそらくあなたは、このために取得する限り魔法です。

+0

jQueryテンプレートは非推奨*ではなく、別のライブラリとして残しました。 – zzzzBov

0

私はそれを台無しにこのコールがAJAXを通じてHTMLで返されたページをできるようdocument.write可能な限りを回避しようとします。残念ながら

は、おそらく、あなたの質問に答えるためではない - 少なくともないあなたが現在やっているよりも、より良い方法で。 document.writeではなく、のようなDOMメソッド、使用することによって回避することができます。純粋なJavaScriptを使用して

document.getElementById('test').innerHTML = arrayVar[0].firstName; 

を、私は、ELの構文のようになり、これを行うのいずれかの他の方法が表示されません。

+0

私は一種の同じことを考え出し。私はそこに魔法のライブラリがあるかもしれない、あるいは最高のケースシナリオがあると期待していました.JSで純粋にこのことを知らなかったことです。 – ryandlf

0

Saxon-CE(現在のところAlphaリリース)は、ブラウザインタラクションの拡張機能を備えたXSLT 2プロセッサです.Javaライブラリと同じ方法でJavaScriptに実装されています。

これを使用すると、 JavaScript配列(JS関数を呼び出して)を作成し、各値をテンプレート内のHTMLリテラル結果要素に挿入します。生成されたHTMLは、HTML DOMの任意の部分に追加または置換できます。

テンプレートは、ページのロード上で実行するか、または任意のDOMイベントにリンクします。

関連する問題