2008-10-28 8 views
8

Estoy realmente perplejo en este caso. Quiero mostrar una lista y hacer que el archivo de etiqueta cumpla las comas, singular versus plural, etc. pero cuando visualizo la lista, ignora por completo el espacio en blanco, por lo que todo funciona igual que este. Intenté usar las entidades HTML "thinsp", "ensp" y "emsp" (no puedo usar "nbsp", estas tienen que estar rompiéndose), pero todas tienen un espantoso ancho en IE, excepto en thinsp, que es demasiado flaco en todo lo demás.¿Cómo hago que los archivos de etiquetas JSP NO ignoren todos los espacios en blanco?

Editar: no funcionará. El resultado de la etiqueta no tiene espacios en absoluto. Aunque cualquier contenido en el JSP tiene un espaciado normal. Obviamente, podría simplemente poner todo en el JSP, pero este es el código que va en múltiples JSP, por lo que los archivos de etiquetas tendrían mucho sentido.

Respuesta

2

¿Quizás puso el contenido de jsp en una etiqueta html <pre>? Esto me parece lo correcto ya que la lista está preformateada.

0

¿Está diciendo que su etiqueta no imprime ningún espacio en blanco? ¿Hay algún espacio en blanco para imprimir?

¿Puede publicar el código y un breve ejemplo de cómo lo usa?

+0

Mi solución fue sólo hay que poner todo el texto 100% en archivos de propiedades. A veces tengo que encadenar cosas porque el texto es algo dinámico: "usuario1, usuario2 y usuario3 hicieron algo", por ejemplo. –

0

Utilicé &#32; entidad en lugar de espacio, pero en general creo que esto apesta porque TODOS los espacios en blanco se comen y uno tiene que hackear entidades o tiene un gran espacio en el código HTML generado.

13

En realidad, es un error en el analizador EL que provoca el consumo de espacios entre las expresiones EL. P.ej.

${bean.foo} ${bean.bar} ${bean.waa} 

obtendría impresa como (suponiendo que devuelve el mismo valor de cadena como su nombre propiedad es):

foobarwaa 

Recuerdo que esta cuestión se informó antes en alguna parte, pero no puedo parece encontrarlo ahora mismo. En lo que ahora se puede solucionar mediante el uso de JSTL c:out etiqueta:

<c:out value="${bean.foo} ${bean.bar} ${bean.waa}" /> 

la que se imprimen correctamente como:

foo bar waa 
Cuestiones relacionadas