2009-01-24 43 views
32

Trước khi tôi đi và tạo thẻ tùy chỉnh hoặc phương thức Java để thực hiện, cách tiêu chuẩn để thoát khỏi các ký tự HTML trong JSP là gì?Làm cách nào để thoát khỏi các ký tự HTML đặc biệt trong JSP?

Tôi có một đối tượng String và tôi muốn hiển thị nó trong HTML để nó xuất hiện cho người dùng như hiện tại.

Ví dụ:

String a = "Hello < World"; 

Sẽ trở thành:

Hello &lt; World 

Trả lời

46

Câu trả lời ngắn:

<c:out value="${myString}"/> 

có một lựa chọn:

<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 
${fn:escapeXml(myString)} 
+6

Hãy cẩn thận vì có sự khác biệt giữa thoát XML và HTML. –

+0

Trong hầu hết các trường hợp, thoát XML là đủ. BTW, hai ví dụ mã ở trên hoạt động chính xác như nhau. (c: cũng thoát Xml, chứ không phải Html). – rustyx

+0

Nếu mối quan tâm là phòng ngừa XSS trong HTML, việc thoát XML phải đủ (cố gắng không tham gia vào xml so với vận động html ở đây ...) –

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