Hangi jsf bileşeni bir div etiketini oluşturabilir?


129

Örneğin: h:inputTextbir "input type='text'". Hangi jsf etiketi bir "div"etiketi oluşturabilir ?


4
Facelets ve JSF'nin daha yeni sürümlerinde, standart HTML etiketlerini JSF etiketlerinizle karıştırmakta özgürsünüz.
Drew

İyi nokta, ama maalesef çok eski bir versiyonla sıkışıp kaldım.
user101442

Yanıtlar:


234

DIVKullanarak bir bileşen oluşturabilirsiniz <h:panelGroup/>. Varsayılan olarak, <h:panelGroup/>HTML kodunda bir SPAN oluşturacaktır.

Ancak, belirtirseniz layout="block", bileşen DIVoluşturulan HTML kodunda bir olacaktır.

<h:panelGroup layout="block"/>

9
Mojarra-1.2_15 uygulamasını kullanarak panel grubuna bir stil veya stil sınıfı eklemediğim sürece benim için işlemez.
James McMahon

3
Eklenti veya kimlik özelliğini ayarlayın. Bunu yapmazsam, HTML'de çevreleyen DIV etiketleri olmadan görünür.
James McMahon

1
divEtiketi hemen kullanmamalı mıyız ? Varsa sorun ne olabilir?
Rajat Gupta

4
@Marcos Elbette divetiketini kullanabilirsiniz , ancak bu durumda bu bileşen JSF bileşen ağacının bir parçası olmayacaktır (yani Java kodunda mevcut değildir). Buna ek olarak, Ajax'ı kullanarak doğrudan yenileyemezsiniz (tabii ki, yenileme işlemini doğrudan JavaScript kodunuzun bazılarında yaparsanız).
Romain Linsolas

1
Cevap, gerçeğin sadece yarısıdır. Burada docs.oracle.com/javaee/5/javaserverfaces/1.2/docs/tlddocs/h/… veya burada docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/… bakın . Önemli bilgi parçası, bir şeyin gerçekleşmesi için bir özelliğe styleveya styleClassniteliğe de ihtiyacınız olmasıdır div... bu da hikayeyi kesinlikle tuhaf kılar IMHO: düz bir düz <h:panelGroup layout="block">bir <span>? Bana mantıklı gelmiyor.
Kawu

18

JSF 2.2'de geçiş öğelerini kullanmak mümkündür :

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:jsf="http://xmlns.jcp.org/jsf">
    ...
    <div jsf:id="id1" />
    ...
</html>

Gereksinim, jsf ad alanını kullanan öğede en az bir özniteliğe sahip olmaktır.


14

Bileşenden ayrı olarak <h:panelGroup>(ki bu beni biraz şaşırttı), istediğiniz herhangi bir işaretlemeyi oluşturmak <f:verbatim>için kaçış parametresi ayarlanmış bir etiket kullanabilirsiniz false. Örneğin:

<f:verbatim escape="true">
    <div id="blah"></div>
</f:verbatim>

panelGroupJSF kodunuzdan herhangi birini şununla sarmak istiyorsanız, bunu hem başlangıç ​​hem de bitiş etiketleri için oluşturmanız gerektiğinden , çözümden biraz daha az zarif olduğunu unutmayın.div .

Alternatif olarak, tüm büyük UI Framework'lerinin bir divbileşen etiketi vardır veya kendiniz yazabilirsiniz.


4
div etiketini hemen kullanmamalı mıyız? Varsa sorun ne olabilir?
Rajat Gupta


-3

Sanırım aynen etiketi kullanabiliriz, çünkü bu etikette HTML etiketlerinden herhangi birini kullanıyoruz


Ciddi anlamda? NEDEN? Verbatim etiketi, jsp dönemiyle alakalı bir şeydir. Facelets dönemin (şimdi 10 yıl?) O, çoğunlukla gereksiz olduğu ise kesinlikle bu durumda.
Kukeltje
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.