JSP tạo HTML. Trong HTML, các dòng mới sẽ được biểu diễn bởi phần tử <br>
, không phải bởi ký tự linefeed. Thậm chí nhiều hơn, nếu bạn nhìn vào nguồn HTML trung bình, bạn sẽ thấy nhiều ký tự linefeed, nhưng chúng theo mặc định không được trình duyệt web giải thích chút nào.
Ngoài việc sử dụng các phần tử HTML <br>
thay vì nhân vật linefeed,
sb.append("<br />");
và in nó mà không <c:out>
như vậy ${myData}
, bạn cũng có thể sử dụng HTML <pre>
yếu tố để duy trì khoảng trắng,
<pre><c:out vaule="${myData}" /></pre>
hoặc chỉ áp dụng CSS white-space:pre
trên phần tử gốc, chính xác như phần tử HTML <textarea>
đang hoạt động nội bộ:
<span style="white-space:pre"><c:out value="${myData}"/></span>
(lưu ý: một class
nhiều đề nghị hơn style
, ở trên chỉ là một ví dụ Kickoff)
Hai phương pháp sau được khuyến khích. Mã HTML không thuộc về các lớp Java. Nó thuộc về các tệp JSP. Thậm chí nhiều hơn, bạn có thể thực sự đang sử dụng JSTL <c:forEach>
để lặp qua bộ sưu tập thay vì toàn bộ đoạn mã Java đó.
<c:forEach items="${beanList}" var="bean">
<c:out value="${bean.name}" /><br />
</c:forEach>
Bạn đã xem nguồn trang trong trình duyệt chưa? Bạn có thể sẽ phải sử dụng
– rickzđể trình duyệt sẽ làm những gì bạn muốn làm ở đây. Hoặc bạn có thể sử dụng