Według biblioteki znaczników dla http://xmlns.jcp.org/jsf/html, A h:panelGroup
jestpanelGroup bez stylu i styleClass nie jest renderowany chyba ID podano
Przeznaczony do stosowania w sytuacjach, kiedy tylko jeden UIComponent dziecko może być zagnieżdżone, tak jak w przypadek faset. Jeśli występują atrybuty "style" lub "styleClass", a atrybut "layout" jest obecny z wartością "block", wyrenderuj element "div" , wyświetlając wartość atrybutu "style". jako wartość atrybutu "style" i wartości atrybutu "styleClass" jako wartości atrybutu "class". W przeciwnym razie, jeśli nie ma atrybutu "layout" lub atrybut "layout" zawiera wartość "" niż "", wyrenderuj element "span", wyprowadzając wartość "style" atrybutu " " jako wartości atrybutu "styl" i wartość atrybutu "styleClass" jako wartości atrybutu "klasa" .
W przypadku
<h:panelGroup id="id" layout="block">
<!-- ... --->
</h:panelGroup>
lub
<h:panelGroup layout="block" style="margin-right: 10px;">
<!-- ... --->
</h:panelGroup>
w div
jest renderowany:
<div id="id">
</div>
odpowiednie
<div style="margin-right: 10px;">
</div>
ale kiedy pomijając id
(jeśli ktoś nie chce update
panelGroup
) lub style
(jeśli ktoś nie chce projektować z panelGroup
) nie div
jest renderowany i powstały bałagan HTML mogą z nich układ. Ponadto badanie sferę JSF, A panelGroup
mogą być również stosowane warunkowo czyni elementy podrzędne pomocą jego rendered
flagi, ale, jak wspomniano wcześniej, gdy pominięcie dwóch wymienionych cech wynik staje się warunkowo, ale bez div
, jak
<h:panelGroup layout="block" rendered="true">
<it>Without DIV.</it>
</h:panelGroup>
prowadzi do
<it>Without DIV.</it>
Po tym dochodzenia Chcę sprawdzić ze społecznością Stackoverflow że zrozumiałem to prawo, że gdy nie jest używany panelGroup
jako pojemnik nazewnictwa lub zwyczajowego stylu jej elementów jest lepsze od rozwiązania współpracy nditional renderowania części (jeśli to konieczne) przy użyciu ui:fragment
i części układającej się z zakodowanym div
. Czy tak jest?
Czy to jest zgodne ze specyfikacją, że "renderowane" jest ignorowane, jeśli atrybuty wymienione w 1 nie są obecne? Więc ' BLA h: panelGroup>' jest zawsze renderowany? (nie mogę sprawdzić źródła implementacji lub specyfikacji z mojego telefonu teraz ...) Zobacz https://stackoverflow.com/questions/43611107/hpanelgroup-body-start-executed-when-rendered-attribut-evaluate-to- false –
Kukeltje
@Kukeltje renderowany atrybut ustawiony na false zablokuje render zarówno div/span, jak i wewnętrznych komponentów do '' - to, co adresowane jest pytanie, nie jest kontrolą renderowania komponentu, jest jedno z zachowań. –
Mindwin