2013-04-11 37 views
6

tôi biết để tránh thoát nhân vật HTML trong JSTL sử dụng này:JSTL escapeXml mặc định

<c:out value="${my.value}" escapeXml="false" /> 

Tôi tự hỏi nếu có tồn tại một chỉ thị trang để đảm escapeXml sai theo mặc định, vì vậy tôi không cần phải xác định nó trên đó trang cụ thể.

+1

Cẩn thận với lỗ hổng tấn công XSS khi bạn đang hiển thị lại đầu vào do người dùng kiểm soát. – BalusC

Trả lời

14

Ở trên không không thoát HTML, vì escapeXml được đặt thành false. Theo mặc định, escapeXml là đúng và thẻ <c:out> do đó thoát HTML. Nếu bạn không muốn trốn chạy, bạn chỉ có thể sử dụng

${my.value} 

và tránh sử dụng <c:out> hoàn toàn, vì mục đích duy nhất của <c:out> là để thoát khỏi HTML.

+3

Mặc dù sử dụng '' các tài liệu rõ ràng mà bạn * dự định * để chèn giá trị mà không cần thoát, trong khi '$ {my.value}' có thể là một sai lầm mà bạn * quên * để sử dụng ''. – Andreas