JSP から JavaScript の Java 変数にアクセスする
リクエスト オブジェクトの属性に基づいて JSP のフォームに動的にデータを入力する場合、Java Script を利用してシームレスにアクセスできます。
Java 変数を JavaScript として出力する変数:
JSP は HTML/CSS/JS コードを生成するため、Java 変数を JavaScript 変数として出力するように JSP に指示するだけです。 EL 構文 (${foo}) を使用すると、次のように変数を出力できます:
<script>var foo = '${foo}';</script>
ログイン後にコピー
JSON オブジェクトの処理:
Java 変数がより複雑な場合は、 Bean、リスト、マップなどを Gson などのライブラリを使用して JSON 文字列に変換します。次に、それを JavaScript オブジェクトとして出力できます:
<script>var foo = ${someObjectAsJson};</script>
ログイン後にコピー
例:
- <script>var foo = '${foo}' ;</スクリプト> foo を JavaScript の文字列として出力します。</li>
<li><script>someFunction('${foo}');</script> foo を引数として JavaScript 関数を呼び出します。
...
foo を引数として someFunction をトリガーする onclick イベントを持つ DIV を定義します。
注:
- 文字列の Java 変数は引用符で囲みます。ただし、数値とブール値の引用符は省略します。
- XSS 攻撃を考慮するユーザー制御の入力を処理する場合は脆弱性を確認し、必要に応じて JS エスケープを使用します。
追加リソース:
- [JSP Wiki](https: //wiki.apache.org/jspwiki/)
- [JavaScript のエスケープJSP](https://stackoverflow.com/questions/125354/how-to-escape-javascript-in-jsp)
- [からの Java コードの呼び出しJavaScript](https://stackoverflow.com/questions/1842397/call-servlet-and-invoke-java-code-from-javascript-along-with-parameters)
- [サーブレットの使用とAjax](https://www.javaworld.com/article/2076172/architecting-java/mastering-servlets-and-ajax-techniques.html)
以上がJSP ページ内の JavaScript で Java 変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。