JSP produkuje HTML. W HTML nowe linie mają być reprezentowane przez element <br>
, a nie przez znak wprowadzany liniowo. Co więcej, jeśli spojrzysz na przeciętne źródło HTML, zobaczysz wiele znaków z linii, ale domyślnie nie są one interpretowane przez przeglądarkę internetową.
Oprócz przy użyciu elementu HTML <br>
zamiast znakiem końca wiersza,
sb.append("<br />");
i drukowanie bez <c:out>
jak tak ${myData}
, można również używać HTML <pre>
elementu, aby zachować odstępy,
<pre><c:out vaule="${myData}" /></pre>
lub po prostu zastosuj CSS white-space:pre
na elemencie nadrzędnym, dokładnie tak, jak element HTML <textarea>
wykonując wewnętrznie:
<span style="white-space:pre"><c:out value="${myData}"/></span>
(UWAGA: class
bardziej zalecane niż style
, powyższe jest jedynie przykładem Kickoff)
Te ostatnie dwie metody są zalecane. Kod HTML nie należy do klas Java. Należy do plików JSP. Co więcej, prawdopodobnie powinieneś używać JSTL <c:forEach>
do iterowania kolekcji zamiast całego kodu Java.
<c:forEach items="${beanList}" var="bean">
<c:out value="${bean.name}" /><br />
</c:forEach>
Czy spojrzałeś na źródło strony w przeglądarce? Prawdopodobnie będziesz musiał użyć
– rickz, aby przeglądarka zrobiła to, co chcesz tutaj zrobić. Alternatywnie możesz użyć