เช่น: h:inputText
จะแสดงไฟล์"input type='text'"
. แท็ก jsf ใดสามารถแสดงผล"div"
แท็กได้
เช่น: h:inputText
จะแสดงไฟล์"input type='text'"
. แท็ก jsf ใดสามารถแสดงผล"div"
แท็กได้
คำตอบ:
คุณสามารถสร้างDIV
ส่วนประกอบโดยใช้ไฟล์<h:panelGroup/>
. โดยค่าเริ่มต้น<h:panelGroup/>
จะสร้าง SPAN ในโค้ด HTML
อย่างไรก็ตามหากคุณระบุlayout="block"
ส่วนประกอบนั้นจะเป็นDIV
โค้ด HTML ที่สร้างขึ้น
<h:panelGroup layout="block"/>
div
แท็กทันทีหรือ ถ้ามีปัญหาอาจเกิดอะไรขึ้น?
div
แท็กได้ แต่ในกรณีนี้ส่วนประกอบนี้จะไม่เป็นส่วนหนึ่งของโครงสร้างคอมโพเนนต์ JSF (กล่าวคือไม่มีในโค้ด Java) นอกจากนั้นคุณจะไม่สามารถรีเฟรชได้โดยตรงโดยใช้ Ajax (ยกเว้นแน่นอนถ้าคุณทำการรีเฟรชโดยตรงในโค้ด JavaScript ของคุณ)
style
หรือstyleClass
แอตทริบิวต์เพื่อdiv
ให้เกิดขึ้น ... ซึ่งทำให้เรื่องราวแปลก ๆ อย่าง IMHO: ธรรมดา<h:panelGroup layout="block">
จะทำให้ a <span>
? มันไม่สมเหตุสมผลสำหรับฉัน
ใน JSF 2.2 สามารถใช้องค์ประกอบpassthrough :
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:jsf="http://xmlns.jcp.org/jsf">
...
<div jsf:id="id1" />
...
</html>
ข้อกำหนดคือต้องมีอย่างน้อยหนึ่งแอตทริบิวต์ในองค์ประกอบโดยใช้ jsf namespace
นอกเหนือจาก<h:panelGroup>
องค์ประกอบ (ซึ่งทำให้ฉันประหลาดใจเล็กน้อย) คุณสามารถใช้<f:verbatim>
แท็กที่ตั้งค่าพารามิเตอร์ Escape false
เพื่อสร้างมาร์กอัปที่คุณต้องการได้ ตัวอย่างเช่น:
<f:verbatim escape="true">
<div id="blah"></div>
</f:verbatim>
โปรดจำไว้ว่ามันดูหรูหราน้อยกว่าpanelGroup
โซลูชันเล็กน้อยเนื่องจากคุณต้องสร้างสิ่งนี้สำหรับทั้งแท็กเริ่มต้นและแท็กสิ้นสุดหากคุณต้องการรวมโค้ด JSF ของคุณด้วยdiv
แท็ก
หรืออีกวิธีหนึ่งคือ UI Frameworks หลัก ๆ ทั้งหมดมีdiv
แท็กคอมโพเนนต์หรือคุณอาจเขียนเองก็ได้
คุณสามารถใช้ส่วนประกอบ tomahawk ของ myfaces
http://myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_div.html
ฉันคิดว่าคุณสามารถใช้แท็กคำต่อคำได้เนื่องจากในแท็กนี้เราใช้แท็ก HTML ใดก็ได้