2013-02-08 21 views
5

Khi chúng tôi cố gắng để hiển thị một nhãn từ nộp tài sản, sử dụng các thẻ mùa xuân, chúng ta có thể viết:Xuân nhắn thẻ javascript thoát

<spring:message javaScriptEscape="true" code="label" /> 

tôi không thể tìm hiểu việc sử dụng javaScriptEscape="true" là gì. Tại sao chúng ta cần điều này?

Trả lời

10

Nếu thông báo là một chuỗi hoạt Javascript đen, chẳng hạn như trong

<script> 
    function sayI18nedHello() { 
     alert('<spring:message javaScriptEscape="true" code="hello" />'); 
    } 
</script> 

Sau đó, bạn cần thuộc tính này, mà sẽ thoát khỏi dấu nháy đơn và đôi, các ký tự xuống dòng, các tab, vv trong để đảm bảo rằng JavaScript được tạo là hợp lệ.

+0

Cảm ơn bạn rất nhiều. Bạn có thể vui lòng cho tôi biết tôi có nên sử dụng htmlEscape và khi tôi sử dụng javascriptEscape không? – Victor

+3

Vâng, htmlEscape khi thư được bao gồm trong tài liệu HTML và javascriptEscape khi thư được bao gồm trong chuỗi chữ JavaScript. –

+0

Tài liệu thực tế ở đâu? Bản thân trang web/tài liệu Spring chỉ lưu ý rằng nó "Đặt JavaScript thoát cho thẻ này", nhưng không phải liệu nó có yêu cầu các dấu ngoặc kép xung quanh hay không và các dấu ngoặc kép nào, nếu có. Tôi đã mong đợi nó để _provide_ các dấu ngoặc kép, để bạn chỉ có thể nói cảnh báo (); và nó sẽ làm phần còn lại. – mirabilos

Các vấn đề liên quan