sintaxis metodos etiquetas ejemplos ejemplo basico jsp whitespace jsp-tags html-entities

metodos - jsp y html



¿Cómo hago que los archivos de etiqueta JSP NO ignoren todos los espacios en blanco? (4)

¿Tal vez poner el contenido de jsp en una etiqueta html <pre> ? Esto me parece lo correcto ya que la lista tiene un contenido preformateado.

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.

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.


Entonces, ¿está diciendo que su etiqueta no imprime ningún espacio en blanco? ¿Hay algún espacio en blanco para que se imprima?

¿Puedes publicar el código y un breve ejemplo de cómo lo usas?


En realidad, es un error en el analizador EL que causa que se coman los espacios entre las expresiones EL. P.ej

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

se imprimiría como (suponiendo que devuelvan el mismo valor de Cadena que su nombre de propiedad):

foobarwaa

Recuerdo que este problema fue reportado en algún lugar anteriormente, pero parece que no puedo encontrarlo ahora. Como ahora puedes arreglarlo usando c:out etiqueta JSTL c:out :

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

que se imprimen correctamente como:

foo bar waa


Usé &#32; entidad en lugar de espacio, pero en general creo que esto apesta porque TODO el espacio en blanco se come y uno tiene que hackear con entidades o tiene un gran espacio en el código HTML generado.