Używam \ n w moim komponencie bean Java, a wynik zmiennej w konsoli jest wyświetlany poprawnie. Podczas gdy pobieranie tej wartości z komponentu bean do JSF \ n wydaje się niedziałać ....... czy ktoś może mi zasugerować, w jaki sposób mogę \ n pracować z JSF.jak wykonać n pracę w <h: inputTextarea>
Odpowiedz
Najprostszym sposobem jest zastosowanie CSS white-space: pre
w elemencie nadrzędnym, w którym znajduje się tekst, którego znaki nowej linii mają zostać zachowane: \n
. Biorąc pod uwagę to klasa stylu CSS:
.preformatted {
white-space: pre;
}
Można zastosować to w następujący sposób:
<div class="preformatted">#{bean.text}</div>
lub
<h:panelGroup layout="block" styleClass="preformatted">#{bean.text}</h:panelGroup>
lub
<h:outputText value="#{bean.text}" styleClass="preformatted" />
itp
Ta właściwość stylu jest przy okazji również tym, czym jest domyślnie element <textarea>
. Można również użyć go i uczynić go nieredytowalnym, ustawiając disabled="true"
lub readonly="true"
.
<h:inputTextarea value="#{bean.text}" disabled="true" />
Można oczywiście również zastąpić wszystkie wystąpienia \n
przez HTML <br/>
elementu. W ten sposób możesz wyświetlić go w elemencie, który nie używa elementu white-space: pre
i/lub nie jest elementem <textarea>
. Jednym ze sposobów jest użycie fn:replace()
.
<h:outputText value="#{fn:replace(bean.text,'\\n','<br/>')}" escape="false" />
To jest tylko IMO brzydsza niż white-space: pre
.
Wymień wszystkie wystąpienia \n
na </br>
przed wyświetleniem.
Powinieneś wymienić wszystkie \ n na <br/>
, zanim wyślesz wartość do swojego <h:inputTextarea>
.
Html używa <br/>
do podziału linii, a nie do \ n jak java.
Ponadto, należy dodać escape="false"
do swojego <h:outputText
(prawie na pewno ...).
Podczas wyszukiwania tekstu zapisanego w mojej bazie danych za pomocą <h:inputTextarea>
odkryłem, że znaki specjalne były utrwalone.
Po zbadaniu tego, co uważałem za mroczną sztukę wytrwałości, doceniam fakt, że domyślne wyświetlenie komponentu JSF było w rzeczywistości tym, co mnie zawodziło.
Wkrótce okazało się, że dodanie white-space: pre-wrap;
do <p>
na moim arkuszu stylów rozwiązało ten problem dla moich tagów <h:outputText>
, które zostały dostarczone z tekstem z poo JPA.
W moim przypadku potrzebowałem pre-wrap
zamiast pre
, ponieważ pre
było zawijane przez znak, a nie przez słowo.
Mam nadzieję, że to pomoże komuś!
- 1. Jak wykonać: aktywną pracę stanu w IE?
- 2. Jak #include <mysql.h> pracę?
- 3. Jak wykonać pracę org mobilną w systemie Android?
- 4. Jak rozpakować krotka długości n do m <n zmiennych
- 5. Co oznacza <%=h ... %> w Railsach?
- 6. Jak wykonać super() pracę, ręcznie wypełniając komórkę __class__?
- 7. Jak mogę wykonać pracę renegocjacyjną CLIENT-CERT SSL na pomoście?
- 8. SQL jak zrobić pracę uruchomić pracę?
- 9. Dodaj HTML do <h: messages />
- 10. jak zrobić pracę admora z wersją Androida <= 3.2?
- 11. Jak `ngOnChanges` pracę w` angular2`
- 12. Jak ustawić szerokość <h: outputText> JSF2.0?
- 13. Jak mogę uczynić pracę jQuery.parseXML w node.js
- 14. Jak skutecznie generować wszystkie listy o długości `n^2` zawierające` n` kopie każdego `x <n`?
- 15. Obliczanie indeksu h
- 16. Jak korzystać z <h: selectBooleanCheckbox> w <h:dataTable> lub <ui:repeat>, aby wybrać wiele elementów?
- 17. Dlaczego w Railsach 3, <% = note.html_safe%> i <% = h note.html_safe%> daje ten sam wynik?
- 18. JSF <h: commandButton> ze świecącą ikoną bootstrapu
- 19. Execute oczekującą pracę z ActiveJob w rspec
- 20. Jak rozpocząć pracę z GwtQuery?
- 21. Jak monitorować pracę programistów w Eclipse?
- 22. Jak zrobić Ctrl + V pracę w Clion
- 23. Jak mogę zaplanować pracę "tygodniową" na Heroku?
- 24. Cython: bo od 1 <= i <n
- 25. Dlaczego nie powinienem #include <bits/stdC++. H>?
- 26. Jak uzyskać tłumaczenie na pracę poza zajęciami?
- 27. VS2008 Błąd kompilacji z <winsock2.h>
- 28. SmartWatch h/w schematyczny
- 29. Normalizacja h/w
- 30. JSF: h: dataTable vs h: panelGrid