Tôi đang sử dụng \ n trong đậu java và đầu ra của biến trong bảng điều khiển được hiển thị chính xác. Trong khi tìm nạp giá trị này từ bean sang JSF \ n có vẻ không hoạt động ....... thì bất kỳ ai cũng có thể gợi ý cho tôi làm cách nào để tôi có thể làm việc trong JSF.cách làm n làm việc trong <h: inputTextarea>
Trả lời
Cách đơn giản nhất là áp dụng CSS white-space: pre
trên phần tử gốc chứa văn bản bạn muốn giữ dòng mới \n
ký tự. Với này kiểu CSS class:
.preformatted {
white-space: pre;
}
Bạn có thể áp dụng điều này như sau:
<div class="preformatted">#{bean.text}</div>
hoặc
<h:panelGroup layout="block" styleClass="preformatted">#{bean.text}</h:panelGroup>
hoặc
<h:outputText value="#{bean.text}" styleClass="preformatted" />
, vv
012.Thuộc tính kiểu dáng này cũng chính xác theo cách mà phần tử <textarea>
được sử dụng theo mặc định. Bạn cũng có thể sử dụng nó và làm cho nó không thể chỉnh sửa bằng cách đặt disabled="true"
hoặc readonly="true"
.
<h:inputTextarea value="#{bean.text}" disabled="true" />
Bạn có thể dĩ nhiên cũng thay thế tất cả các lần xuất hiện của \n
bởi các phần tử HTML <br/>
. Bằng cách này, bạn có thể hiển thị nó trong một phần tử không sử dụng white-space: pre
và/hoặc không phải là một phần tử <textarea>
. Một trong những cách đang sử dụng fn:replace()
.
<h:outputText value="#{fn:replace(bean.text,'\\n','<br/>')}" escape="false" />
Đây là IMO chỉ xấu hơn white-space: pre
.
Thay thế tất cả các lần xuất hiện của \n
bằng </br>
trước khi hiển thị.
Bạn nên thay thế tất cả \ n bằng <br/>
trước khi gửi giá trị đến <h:inputTextarea>
.
Sử dụng Html <br/>
để ngắt dòng và không phải \ n như java.
Ngoài ra, bạn nên thêm escape="false"
vào số <h:outputText
(gần như chắc chắn ...).
Khi xem văn bản được ghi trong cơ sở dữ liệu của tôi qua số <h:inputTextarea>
Tôi thấy rằng các ký tự đặc biệt đã được duy trì. Vì vậy, sau khi điều tra những gì tôi nghĩ là một số nghệ thuật đen tối của sự kiên trì, tôi đánh giá cao rằng màn hình mặc định của thành phần JSF là trong thực tế những gì đã cho phép tôi xuống.
Tôi nhanh chóng thấy rằng việc thêm white-space: pre-wrap;
vào <p>
trên biểu định kiểu của tôi đã khắc phục sự cố này cho các thẻ <h:outputText>
của mình đang được cung cấp văn bản từ một bài đăng JPA.
Trong trường hợp của tôi, tôi cần pre-wrap
thay vì pre
vì pre
được đóng gói theo ký tự thay vì theo từ.
Hy vọng điều này sẽ giúp ai đó!
- 1. Ý nghĩa của "h" trong "<% = h [...]%>" là gì?
- 2. <: <làm việc như thế nào?
- 3. Làm p: CommandButton công việc như h: nút
- 4. Cách sử dụng <h: selectBooleanCheckbox> trong <h:dataTable> hoặc <ui:repeat> để chọn nhiều mục?
- 5. Thêm HTML vào <h: messages />
- 6. Làm thế nào để thực hiện Scala chính xác của <: <, <% <, =: = làm việc trong trình biên dịch?
- 7. Cách đặt độ rộng <h: outputText> của JSF2.0?
- 8. Làm thế nào để OfType <T>() Làm việc?
- 9. <? ?> thẻ không làm việc trong php 5.3.1
- 10. Làm cách nào để {n}? và {n} khác nhau?
- 11. JSF <h: commandButton> với biểu tượng twitter bootstrap
- 12. JSF - Làm cách nào để triển khai JavaScript "Bạn có chắc chắn không?" nhắc cho <h: commandButton>
- 13. Làm cách nào để cập nhật n hàng trong bảng?
- 14. Làm cách nào (i << 48) | ((i & 0xffff0000L) << 16) | ((i > >> 16) & 0xffff0000L) | (i >>> 48) làm việc?
- 15. Làm thế nào để mở rộng pyWavelets để làm việc với dữ liệu N-chiều?
- 16. Làm cách nào để đổi tên n tệp bằng ANT? (Công việc hàng loạt)
- 17. Làm cách nào để xóa chuỗi "\ n" trong chuỗi Ruby?
- 18. Làm cách nào để thực thi Javascript trước khi thực hiện hành động JSF <h: commandLink>?
- 19. thay thế \ n và \ r \ n bằng <br /> trong java
- 20. Knockout.js containerless "foreach" không làm việc với <table>
- 21. CanExecute trên RelayCommand <T> không làm việc
- 22. << làm gì trong Python?
- 23. ActivityManager <user-permission> cho phép không làm việc
- 24. Cython: for i từ 1 <= i <N
- 25. C++ int a [n] làm việc trong g ++ nhưng không phải với vs2008
- 26. On hiểu cách printf ("% d \ n", ({int n; scanf ("% d", &n); n * n;})); hoạt động trong C
- 27. Có sự khác biệt giữa <winsock.h> và <winsock2.h> không?
- 28. Làm thế nào để giải quyết: T (n) = T (n - 1) + n
- 29. Cách làm việc với null trong docutils
- 30. Cách phiên làm việc trong Codeigniter