Secondo la libreria di tag per http://xmlns.jcp.org/jsf/html, un h:panelGroup
èpanelGroup senza stile o styleClass non sia resa meno che ID è dato
previsto per l'uso in situazioni in cui un solo bambino UIComponent possono essere nidificate, come ad esempio in il caso delle sfaccettature. Se gli attributi "style" o "styleClass" sono presenti e l'attributo "layout" è presente con un valore di "blocco", rendere un elemento "div" , in uscita il valore dell'attributo "stile" come valore dell'attributo "style" e il valore dell'attributo "styleClass" come valore dell'attributo "class". Altrimenti, se l'attributo "layout" non è presente, o l'attributo "layout" contiene un altro valore di " " blocco ", rendere un elemento" span ", emettendo il valore dell'attributo" style " come valore dell'attributo "stile" e del valore dell'attributo "styleClass" come valore dell'attributo "classe" .
In caso di
<h:panelGroup id="id" layout="block">
<!-- ... --->
</h:panelGroup>
o
<h:panelGroup layout="block" style="margin-right: 10px;">
<!-- ... --->
</h:panelGroup>
un div
sia resa:
<div id="id">
</div>
rispettivo
<div style="margin-right: 10px;">
</div>
ma quando omettendo l'id
(se uno non vuole update
la panelGroup
) o style
(se non si vuole per lo stile delle panelGroup
) quelli che il codice HTML risultante può rovinare senza div
viene eseguito il rendering e disposizione. Inoltre esplorare la sfera di JSF, un panelGroup
può anche essere utilizzato per rendere condizionale elementi figlio utilizzando il suo rendered
bandiera ma come detto prima, quando omettendo i due menzionati attributi il risultato è reso condizionatamente ma senza un div
, come
<h:panelGroup layout="block" rendered="true">
<it>Without DIV.</it>
</h:panelGroup>
porta a
<it>Without DIV.</it>
Dopo questa indagine voglio controllare con la comunità StackOverflow che ho capito giusto che quando non si utilizza un panelGroup
come contenitore di denominazione o per lo stile consueto i suoi elementi uno è meglio risolvere il co parte di rendering nditional (se necessario) utilizzando un ui:fragment
e la parte di layout con un codice codificato div
. È così?
Sarebbe essere in base alle specifiche che il 'rendering' viene ignorato se gli attributi menzionati in 1 non sono presenti? Quindi un ' BLA h: panelGroup>' è sempre visualizzato? (non è possibile controllare l'origine di un'implementazione o le specifiche dal mio telefono ora ...) Vedi https://stackoverflow.com/questions/43611107/hpanelgroup-body-still-executed-when-rendered-attribut-evaluate-to- false –
Kukeltje
@Kukeltje l'attributo reso impostato su false bloccherà il rendering sia del div/span che dei componenti interni a quel '' - quale indirizzo della domanda non è il controllo del rendering del componente, è uno di comportamento. –
Mindwin