Nie renderuje się za mnie, chyba że dodam styl lub klasę stylu do grupy paneli, używając implementacji mojarra-1.2_15.
James McMahon
3
Addendum lub ustaw atrybut ID. Jeśli tego nie zrobię, po prostu pojawi się w kodzie HTML bez otaczających tagów DIV.
James McMahon
1
czy nie powinniśmy od razu użyć samego divtagu? Jaki może być problem, jeśli w ogóle?
Rajat Gupta
4
@Marcos Oczywiście możesz użyć divtagu, ale w tym przypadku ten komponent nie będzie częścią drzewa komponentów JSF (tj. Nie będzie dostępny w kodzie Java). Oprócz tego nie będziesz mógł odświeżyć go bezpośrednio za pomocą Ajax (z wyjątkiem, oczywiście, jeśli wykonasz odświeżanie bezpośrednio w części kodu JavaScript).
Oprócz <h:panelGroup>komponentu (co jest dla mnie pewnym zaskoczeniem), możesz użyć <f:verbatim>tagu z parametrem escape ustawionym na, falseaby wygenerować dowolne znaczniki. Na przykład:
Pamiętaj, że jest to trochę mniej eleganckie niż panelGrouprozwiązanie, ponieważ musisz wygenerować to zarówno dla znacznika początkowego, jak i końcowego, jeśli chcesz otoczyć divtagiem dowolny kod JSF .
Alternatywnie, wszystkie główne struktury interfejsu użytkownika mają divznacznik komponentu lub możesz napisać własny.
Poważnie? CZEMU? Znacznik Dosłowny to coś, co było istotne w erze jsp. W dobie faceletów (10 lat?) Jest to w większości zbędne, na pewno w tym przypadku.
Odpowiedzi:
Możesz utworzyć
DIV
komponent za pomocą<h:panelGroup/>
. Domyślnie<h:panelGroup/>
wygeneruje SPAN w kodzie HTML.Jeśli jednak określisz
layout="block"
, komponent będzie występowałDIV
w wygenerowanym kodzie HTML.<h:panelGroup layout="block"/>
źródło
div
tagu? Jaki może być problem, jeśli w ogóle?div
tagu, ale w tym przypadku ten komponent nie będzie częścią drzewa komponentów JSF (tj. Nie będzie dostępny w kodzie Java). Oprócz tego nie będziesz mógł odświeżyć go bezpośrednio za pomocą Ajax (z wyjątkiem, oczywiście, jeśli wykonasz odświeżanie bezpośrednio w części kodu JavaScript).style
lubstyleClass
atrybutu,div
aby wydarzyło się a ... co sprawia, że historia jest absolutnie dziwna. IMHO: a zwykły<h:panelGroup layout="block">
renderuje<span>
? To nie ma dla mnie sensu.W JSF 2.2 można używać elementów przejściowych :
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:jsf="http://xmlns.jcp.org/jsf"> ... <div jsf:id="id1" /> ... </html>
Wymagane jest posiadanie co najmniej jednego atrybutu w elemencie korzystającym z przestrzeni nazw jsf.
źródło
Oprócz
<h:panelGroup>
komponentu (co jest dla mnie pewnym zaskoczeniem), możesz użyć<f:verbatim>
tagu z parametrem escape ustawionym na,false
aby wygenerować dowolne znaczniki. Na przykład:<f:verbatim escape="true"> <div id="blah"></div> </f:verbatim>
Pamiętaj, że jest to trochę mniej eleganckie niż
panelGroup
rozwiązanie, ponieważ musisz wygenerować to zarówno dla znacznika początkowego, jak i końcowego, jeśli chcesz otoczyćdiv
tagiem dowolny kod JSF .Alternatywnie, wszystkie główne struktury interfejsu użytkownika mają
div
znacznik komponentu lub możesz napisać własny.źródło
możesz użyć komponentu myfaces tomahawk
http://myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_div.html
źródło
Myślę, że możemy użyć tagu dosłownie, ponieważ w tym tagu używamy dowolnego z tagów HTML
źródło