2012-05-07 64 views
11

Tôi có trang .jsp chuyển biến từ servlet. Cho phép giả định rằng tôi có một trang .jsp nhưbiến từ .jsp đến trang html

... 
<body> 
${Variable} 
</body> 
... 

và cho phép cũng giả định rằng variable = "oh my god". Điều này là OK. Nhưng làm cách nào tôi có thể đặt biến này vào trang .html mà trình duyệt sẽ hiển thị giá trị của biến?

Trả lời

14

Bạn cần phải làm điều này:

<%= Variable %> 

HTML kết quả sẽ là:

<body> 
oh my god 
</body> 
+0

nếu tôi đặt này vào trang html, sau đó kết quả là tôi nhận được <% = Variable%> và không phải là giá trị của biến –

+2

@ Bob: bạn đặt rằng trong ** JSP ** tệp, không phải trong tệp ** HTML **. Kết quả ** HTML ** sẽ được kết xuất bởi động cơ Servlet/JSP. –

4

câu trả lời hiện tốt nhất Trên thực tế bình chọn và giải pháp đăng ở đó (<%= Variable %>) đóng vai trò chính xác giống như mã mà bạn được cung cấp trong câu hỏi (${Variable}). Sự khác biệt duy nhất là của bạn là một trong đó nên được sử dụng, bởi vì nó dễ đọc hơn và nó không phải là bất kỳ kịch bản chết tiệt nào!

Theo quan điểm của tôi, nếu bạn muốn biến JSP của bạn trong trang html chơi, bạn sẽ cần javascript để truy xuất biến đó ra khỏi html được hiển thị bởi jsp và bạn trong thực tế newPage.html. Bạn có thể đặt iframe ẩn vào số newPage.html đó, nhúng trang jsp đó làm nguồn của iframe đó và chỉ phân tích cú pháp html của nó bằng ví dụ: getElementById()

0

Có hai tùy chọn, sử dụng scriptlets hoặc expression language, tôi khuyên bạn nên đi với expression language.

Tốt đọc về việc tại sao Scriptlets are Bad

0

trước khi truy cập biến bên trong html bạn cần phải khởi tạo biến và sau đó làm bất cứ điều gì các tính toán và sửa đổi khác bên trong một khối mã JSP. Bây giờ bạn có thể truy cập biến bên trong html. Đây là câu trả lời đầu tiên của tôi cho Stackoverflow.com, xin vui lòng các chuyên gia thông báo cho những sai lầm tôi đã làm.

<body> 
<% java.lang.Integer var=0; %> 
<% 
    int a; 
    int b; 
    var=a+b; 
%> 
<% out.print(var);%> 
</body> 
Các vấn đề liên quan