Mengakses Pembolehubah Java dalam JavaScript daripada JSP
Apabila mengisi borang dalam JSP secara dinamik berdasarkan atribut objek permintaan, anda boleh memanfaatkan Skrip Java untuk akses yang lancar.
Mencetak Pembolehubah Java sebagai JavaScript Pembolehubah:
JSP menjana kod HTML/CSS/JS, jadi anda boleh mengarahkan JSP untuk mencetak pembolehubah Java sebagai pembolehubah JavaScript. Menggunakan sintaks EL (${foo}), anda boleh mencetak pembolehubah seperti berikut:
<script>var foo = '${foo}';</script>
Mengendalikan Objek JSON:
Jika pembolehubah Java anda lebih kompleks, seperti kacang, senarai atau peta, tukarkannya kepada rentetan JSON menggunakan pustaka seperti Gson. Kemudian, anda boleh mencetaknya sebagai objek JavaScript:
<script>var foo = ${someObjectAsJson};</script>
Contoh:
- <script>var foo = '${foo}' ;</skrip> mencetak foo sebagai rentetan dalam JavaScript.</li>
<li><skrip>someFunction('${foo}');</script> memanggil fungsi JavaScript dengan foo sebagai hujah.
...
mentakrifkan DIV dengan acara onclick yang mencetuskan someFunction dengan foo sebagai hujah.
Nota:
- Sertakan pembolehubah Java dalam petikan untuk rentetan, tetapi tinggalkan petikan untuk nombor dan boolean.
- Pertimbangkan serangan XSS kelemahan apabila berurusan dengan input dikawal pengguna dan gunakan JS escape jika perlu.
Sumber Tambahan:
- [JSP Wiki](https: //wiki.apache.org/jspwiki/)
- [Melepaskan JavaScript dalam JSP](https://stackoverflow.com/questions/125354/how-to-escape-javascript-in-jsp)
- [Memanggil Kod Java daripada JavaScript](https://stackoverflow.com/questions/1842397/call-servlet-and-invoke-java-code-from-javascript-along-with-parameters)
- [Menggunakan Servlets dan Ajax](https://www.javaworld.com/article/2076172/architecting-java/mastering-servlets-and-ajax-techniques.html)
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah Java dalam JavaScript dalam Halaman JSP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn