Miałem bardzo podobny problem. Moje pytanie brzmi here
moja strona xhtml wygląda -
<h:outputText itemEscaped="false" escape="false" value="#{singleViewResultDO.associatedCode}" />
associatedCode jest uzyskanie wartości z kwerendy SQL, gdzie chcę użyć tagu HTML mieć stylizacji warunkowego.
Oto moje zapytanie SQL wygląda następująco:
Select A, REPLACE(Wm_Concat(DISTINCT CASE WHEN sv.rmvd = 0 THEN ' '||sv.CMPNION_CD ELSE '<span style=\"color:red; \">' || ' '||sv.CMPNION_CD|| '</span>' END),' , ','') , "
from Table
Ignoruj zastąpić i WM_CONCAT jak to jest do wyświetlania wartości oddzielonych przecinkami. Fragment kodu właściwym jest
CASE WHEN sv.rmvd = 0 THEN ' '||sv.CMPNION_CD ELSE '<span style=\"color:red; \">' || ' '||sv.CMPNION_CD|| '</span>' END
chcę mieć tag na podstawie warunku rmvd = 0 .. Ponieważ mam uciec = „false” W mojej, nie muszę uciekać moje tagi html w pytanie. Chodzi mi o to nie trzeba konwertować do < <> do > i ""
Należy również zauważyć, że ponieważ mam cudzysłowów«»w moim przedziale, muszę uciec raz, więc nie będzie kiedy uciekł dotrze
jestem coraz moje wyjście dowolnie -.? 8000778 w kolorze czerwonym
Dlaczego właściwie jest złą praktyką mógłbyś dalsze prace na tym Nawet jeśli mam * pełne * kontrolę nad generowanym HTML? kod? – jpangamarca
@jpangamarca z tego samego powodu, dla którego MVC jest dobrą praktyką, pozwala robić widoki za pomocą widoku określonego języka (np. html, fragmenty, freemarker itp.) i utrzymuje model nieświadomy różnych reprezentacji. Czasami wygodniej jest tworzyć określone "modele" i robić to w Javie, ale generalnie najlepiej tego unikać, ponieważ Java nie jest odpowiednia (a kod zwykle wygląda dość paskudnie) do opisu widoków. Mam nadzieję, że to ma sens. – Stef
Dzięki @Stef. Kiedy zmuszono mnie do wyprowadzania kodu HTML w postaci h: outputText z komórkami siatki, nie mogłem utworzyć faceletki, ponieważ strona była źle zaprojektowana i nie mogłem jej przeprojektować (style CSS zostały zastosowane przez identyfikatory komponentów , fuj!), więc identyfikatory zostaną zduplikowane, a strona zostanie wysadzona w powietrze. Dzięki. – jpangamarca