2013-07-18 78 views
8

Tôi biết có là đã thắc mắc về điều đó, nhưng tôi chỉ đơn giản là can't có được công việc này, tôi có một tập tin JSP với một biến java trong đó:Đi qua biến từ JSP để Javascript

String test = "Hello";

Và tôi cần đọc giá trị này trong Javascript được nhúng trong cùng một tệp JSP, tôi đã thử rất nhiều tùy chọn, nhưng nó không hoạt động và bảo mật tôi không muốn truyền giá trị bằng cách sử dụng URL hoặc các giá trị ẩn.

Bất kỳ ý tưởng nào về cách hoạt động của tính năng này?

Trả lời

1
var jsvariable="<%=test%>"; 
+0

Tôi đã thử rằng: var jsvariable = "<%=test%>"; Nhưng nó không hoạt động: ( – CJ1

+0

"không hoạt động" nghĩa là gì? HTML đầu ra là gì? Hãy đăng toàn bộ JSP, vui lòng – dbanet

+0

Biến mà tôi cố gắng chuyển luôn được nhận trống, Nói cách khác là tài liệu. Giá trị getElementById ("Id"), không trả lại bất cứ điều gì – CJ1

5

Tôi biết một điều này là cũ, nhưng điều này đã làm việc cho tôi:

var javaScriptVar="<%out.print(javaString);%>"; 

bạn cần phải chắc chắn rằng nếu bạn đang sử dụng một file js bên ngoài (trong số các tập tin jsp), các dòng trên phải nằm trước thẻ tập lệnh "include". cho ví dụ này là file jsp:

var javaScriptVar="<%out.print(javaString);%>"; 
<script src="some_location/test.js"></script> 
2

Bạn có thể vượt qua các giá trị bằng cách gọi một số phương pháp trong phần html ..

<input type="submit" value="view" onclick="callpro('<%= varname %>')" /> 
4

Cách tốt nhất để làm điều đó là sử dụng một cái gì đó như sau trong của bạn mã javascript;

var myvar = '${jspvar}'; 
1

Một điều cần lưu ý là bạn có thể không gian tên các biến theo cách này:

var MYAPP.javaScriptVar="<%out.print(javaString);%>";

kỹ thuật

là từ "javascript: The Good Parts" Book.