2009-11-26 22 views
11

Estoy tratando de mostrar html, es decir, texto enriquecido dentro de un elemento wicket dinámicamente. Un ejemplo es como mostrar un correo electrónico de texto enriquecido dentro de una etiqueta div. ¿Cómo puedo hacer esto con wicket? el componente Label de wicket no parece ser compatible con esto. ¿hay un componente que hace¿Cómo mostrar el texto html dentro de un elemento Wicket?

Respuesta

21

encontrado esto en la excelente Manning peatonal incorporada en Acción:

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

La llamada a setEscapeModelStrings dice Wicket no para escapar de los contenidos de la cadena entregada, y para representar los contenidos en el marcado resultante. Esto hace el truco, como se puede ver en la captura de pantalla derecha en la figura 5.4. Tenga en cuenta que esta configuración está disponible en todos los componentes de Wicket, pero es principalmente útil en las etiquetas.

A medida que el libro también se observa, sin embargo, usted debe ser consciente de los ataques de secuencia de comandos de inyección ..

+0

Muchas gracias! la otra cosa ahora es el ataque de inyección de guiones ... alguna sugerencia? Estoy pensando que debería ejecutar el cheque antes de almacenar los datos, por lo que cuando lo muestre más tarde estará limpio. –

+0

El libro recomienda un enfoque similar para filtrar cualquier secuencia de comandos antes de almacenar/mostrar la entrada. Además de eso, no puedo recomendar nada por desgracia .. – Tim

+0

Sé que esto es muy viejo, pero también podrías usar un editor de wysiwyg . O cree su propio hallazgo y reemplace la codificación de tipos (usando {b} bold {/ b} o algo así, por ejemplo). Hay alternativas, pero ninguna de ellas es súper fácil y ninguna es perfecta. – adpro

Cuestiones relacionadas