2008-10-28 19 views
8

Naprawdę jestem zaskoczony tym. Chcę wypisać listę i plik znacznika zajmie się przecinkami, liczbą pojedynczą lub mnogą, ale kiedy wyświetlam listę, całkowicie ignoruje białe spacje, więc wszystko jest możliwe. Próbowałem używać encji HTML "thinsp", "ensp" i "emsp" (nie mogę używać "nbsp", te muszą się łamać), ale wszystkie są okropnie szerokie na IE, z wyjątkiem cienkiego, który jest zbyt chudy na wszystko inne.Jak utworzyć pliki znaczników JSP NIE ignorować wszystkich białych znaków?

Edycja: nie będzie działać. Dane wyjściowe ze znacznika nie zawierają żadnych spacji. Chociaż dowolna treść w JSP ma normalny odstęp. Oczywiście mogłem po prostu umieścić wszystko w JSP, ale jest to kod, który działa na wielu stronach JSP, więc pliki znaczników miałyby sens.

Odpowiedz

2

Może umieścić zawartość jsp w tagu html <pre>? Wydaje mi się, że to słuszne, ponieważ lista jest wstępnie sformatowana.

0

A więc mówisz, że Twój znacznik nie drukuje w ogóle pustej przestrzeni? Czy istnieje jakikolwiek odstęp, który można wydrukować?

Czy możesz opublikować kod i krótki przykład tego, jak go używasz?

+0

Moje rozwiązanie było po prostu umieścić cały tekst w 100% do plików własności. Czasami muszę łączyć rzeczy, ponieważ tekst jest nieco dynamiczny: na przykład "użytkownik1, użytkownik2 i użytkownik3 coś zrobili". –

0

Użyłem encji &#32; zamiast przestrzeni, ale generalnie myślę, że to zasysa, że ​​albo WSZYSTKIE białe spacje są zjedzone i trzeba hakować z bytami, albo masz dużą przestrzeń w wygenerowanym kodzie HTML.

13

To właściwie błąd w parserze EL, który powoduje, że można spożywać spacje pomiędzy wyrażeniami EL. Na przykład.

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

dostanie drukowane (zakładając, że zwróci tę samą wartość String jak sama nazwa nieruchomość):

foobarwaa 

Przypominam, że ten problem został zgłoszony gdzieś wcześniej, ale nie mogę wydaje się, że znajduje to teraz. O ile teraz można naprawić za pomocą JSTL c:out tag:

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

które poprawnie wydrukowany jako:

foo bar waa 
Powiązane problemy