Komponen jsf apa yang dapat membuat tag div?


129

Misalnya: h:inputTextakan membuat a "input type='text'". Tag jsf apa yang dapat membuat "div"tag?


4
Ingatlah dengan Facelet dan versi JSF yang lebih baru, Anda bebas untuk mencampur tag HTML standar dengan tag JSF Anda.
Drew

Poin bagus, tapi sayangnya, saya terjebak dengan versi yang sangat lama.
user101442

Jawaban:


234

Anda dapat membuat DIVkomponen menggunakan <h:panelGroup/>. Secara default, <h:panelGroup/>akan menghasilkan SPAN dalam kode HTML.

Namun, jika Anda menentukan layout="block", maka komponen tersebut akan menjadi DIVdalam kode HTML yang dihasilkan.

<h:panelGroup layout="block"/>

9
Tidak merender untuk saya kecuali saya menambahkan gaya atau kelas gaya ke panelgroup, menggunakan implementasi mojarra-1.2_15.
James McMahon

3
Addendum, atau atur atribut ID. Jika saya tidak melakukan ini, itu hanya muncul dalam HTML tanpa tag DIV di sekitarnya.
James McMahon

1
bukankah seharusnya kita langsung menggunakan divtag itu sendiri? Apa yang mungkin menjadi masalah jika ada?
Rajat Gupta

4
@Marcos Tentu saja, Anda dapat menggunakan divtag, tetapi dalam kasus ini, komponen ini tidak akan menjadi bagian dari pohon komponen JSF (yaitu tidak tersedia dalam kode Java). Selain itu, Anda tidak akan dapat me-refresh secara langsung menggunakan Ajax (kecuali, tentu saja, jika Anda melakukan refresh langsung di beberapa kode JavaScript Anda).
Romain Linsolas

1
Jawabannya hanya setengah dari kebenaran. Lihat di sini docs.oracle.com/javaee/5/javaserverfaces/1.2/docs/tlddocs/h/… atau di sini docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/… . Sepotong informasi penting adalah bahwa Anda juga memerlukan satu styleatau styleClassatribut untuk divterjadi ... yang membuat cerita itu benar-benar aneh IMHO: sebuah dataran <h:panelGroup layout="block">akan membuat <span>? Itu tidak masuk akal bagi saya.
Kawu

18

Di JSF 2.2 dimungkinkan untuk menggunakan elemen passthrough :

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

Persyaratannya adalah memiliki setidaknya satu atribut dalam elemen menggunakan namespace jsf.


14

Terlepas dari <h:panelGroup>komponen (yang sedikit mengejutkan bagi saya), Anda bisa menggunakan <f:verbatim>tag dengan parameter escape yang diatur falseuntuk menghasilkan mark-up yang Anda inginkan. Sebagai contoh:

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

Ingatlah bahwa ini sedikit kurang elegan daripada panelGroupsolusinya, karena Anda harus membuat ini untuk tag awal dan akhir jika Anda ingin membungkus salah satu kode JSF Anda dengan divtag.

Atau, semua Kerangka UI utama memiliki divtag komponen, atau Anda bisa menulis sendiri.


4
bukankah seharusnya kita langsung menggunakan tag div itu sendiri? Apa yang mungkin menjadi masalah jika ada?
Rajat Gupta


-3

Saya pikir kita bisa menggunakan tag verbatim, seperti pada tag ini kita menggunakan salah satu tag HTML


Serius? MENGAPA? Tag Verbatim adalah sesuatu yang relevan di era jsp. Di era facelets (10 tahun sekarang?) Itu sebagian besar berlebihan, tentu dalam hal ini.
Kukeltje
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.