2016-03-31 15 views
0

JavaScript関数でJSTLタグに宣言した変数を得る方法はありますか?javascriptからvarを送信してJSTL c:setで使用できますか?

<input type="hidden" id="asdf" value="onetwothree" /> 

と私はCを宣言したい:

Javascriptをここに

var abc = document.getElementById('asdf').value; 

はJSPではJavaScript

<c:set var="ex" value="${abc}" /> 

から、それは"ex"変数を取得する目的を設定します値は "onetwothree"です。

ご迷惑をおかけして申し訳ありません。ありがとう

+1

なぜjspのコンポーネントにアクセスする必要がありますか?javascript変数を使用してコンポーネントをjspに埋め込む必要がありますか?あなたはjavascriptを使用せずに直接行うことはできませんか? –

+0

'ex'変数は何にしますか?クライアントの入力が必要ですか? – S4beR

+0

次のステップはc:ifに 'ex'変数を使用することです。私はjstlに直接隠された入力タイプを使用することはできませんと思った。 –

答えて

0

他の方法でやっています。あなたが何であるかに基づいてDOMを修正するために探している場合は、コード

<c:set var="ex" value="test" /> 
<script type="text/javascript"> 
    var abc = '${ex}'; 
</script> 

いますが、上記のような他の方法で回避の下

ことはできません使用してJavaScriptからjspで宣言された変数にアクセスすることが可能ですあなたがしたい場合はinputボックスで提供し、私は(JavaScriptで)以下のようなコードを使用することをお勧め短い

var abc = document.getElementById('asdf').value; 

// assuming you want to print this value in a label 
document.getElementById('mylabel').innerHTML = abc; 

クライアントの入力に基づいてDOMを変更する場合は、を使用してください。

+0

こんにちは、しかし、私はjavascriptから変数を使用してjstl cでそれを使用することができます任意の方法です:if? –

+0

それは不可能です。 'jstl'は' javascript'コードの前にサーバー上で実行されます。 URLのリクエストパラメータとしてjavascript変数を使用してページを更新してからjstlで読み込むことはできます。あなたのURLは 'myurl/abc.htm?jsVar = abcValue'のようになり、' S4beR

0

JavascriptからJSTLタグにアクセスすることはできません。なぜなら、それらのタグはサーバー側(クライアント側はプレーンHTMLに置き換えられている)だけであるからです。

リクエストパラメータとしてjavascript varを送信してから、サーバー側で使用できます。

関連する問題