2009-11-26 47 views
11

Tôi đang cố hiển thị văn bản có định dạng html trong phần tử wicket động. Một ví dụ giống như hiển thị email văn bản có định dạng trong thẻ div. làm thế nào tôi có thể làm điều này với wicket. thành phần nhãn wicket dường như không hỗ trợ điều này. là có một thành phần mà khôngCách hiển thị văn bản html trong phần tử Wicket?

Trả lời

21

Các mặt hàng này trong tuyệt vời Manning Wicket trong hành động:

add(new Label("markup", "<h1>Hello!</h1>").setEscapeModelStrings(false)); 

Các cuộc gọi đến setEscapeModelStrings nói Wicket không để thoát khỏi các nội dung của chuỗi cung cấp, và để làm cho nội dung vào đánh dấu kết quả. Điều này làm các trick, như bạn có thể thấy trong ảnh chụp màn hình bên phải trong hình 5.4. Lưu ý rằng cài đặt này có sẵn trên tất cả các thành phần của Wicket, nhưng nó chủ yếu có ích trên nhãn.

Như cuốn sách cũng lưu ý tuy nhiên, bạn nên lưu ý các cuộc tấn công kịch bản phun nhiên liệu ..

+0

Cảm ơn rất nhiều! điều khác bây giờ mặc dù là tấn công script-injection .. bất kỳ đề xuất ?? Tôi nghĩ rằng tôi nên chạy kiểm tra trước khi tôi lưu trữ dữ liệu, vì vậy khi tôi hiển thị nó sau này nó sẽ được sạch sẽ. –

+0

Cuốn sách đề xuất một cách tiếp cận tương tự trong việc lọc ra bất kỳ tập lệnh nào trước khi lưu trữ/hiển thị đầu vào .. Khác với điều tôi không thể khuyên bạn nên làm bất cứ điều gì .. – Tim

+0

Tôi biết điều này là siêu cũ, nhưng bạn cũng có thể sử dụng trình soạn thảo wysiwyg . Hoặc tạo tìm kiếm của riêng bạn và thay thế mã hóa các loại (sử dụng {b} in đậm {/ b} hoặc ví dụ như thế). Có lựa chọn thay thế, nhưng không ai trong số họ là siêu dễ dàng và không ai là hoàn hảo. – adpro

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