क्या jsf घटक एक div टैग प्रस्तुत कर सकता है?


129

जैसे: h:inputTextरेंडर ए "input type='text'"। Jsf टैग किसी टैग को क्या प्रदान कर सकता है "div"?


4
जेएसएफ के फेसलेट्स और नए संस्करणों के साथ ध्यान रखें, आप अपने जेएसएफ टैग्स के साथ मानक HTML टैग्स मिश्रण करने के लिए स्वतंत्र हैं।
आकर्षित किया

अच्छी बात है, लेकिन दुर्भाग्य से, मैं बहुत पुराने संस्करण के साथ फंस गया हूं।
user101442

जवाबों:


234

आप DIVका उपयोग कर एक घटक बना सकते हैं <h:panelGroup/>। डिफ़ॉल्ट रूप से, <h:panelGroup/>HTML कोड में एक स्पैन उत्पन्न करेगा।

हालाँकि, यदि आप निर्दिष्ट करते हैं layout="block", तो घटक DIVउत्पन्न HTML कोड में होगा।

<h:panelGroup layout="block"/>

9
मेरे लिए तब तक रेंडर नहीं होता जब तक कि मैं पैनलग्रुप में एक स्टाइल या स्टाइल क्लास नहीं जोड़ता, मोजरा-1.2_15 कार्यान्वयन का उपयोग करके।
जेम्स मैकमोहन

3
परिशिष्ट, या ID विशेषता सेट करें। यदि मैं ऐसा नहीं करता हूं, तो यह केवल HTML में आसपास के DIV टैग के बिना दिखाता है।
जेम्स मैकमोहन

1
क्या हमें सीधे divटैग का उपयोग नहीं करना चाहिए ? यदि कोई हो तो क्या समस्या हो सकती है?
रजत गुप्ता Gupta ’

4
@ मार्सर बेशक, आप divटैग का उपयोग कर सकते हैं , लेकिन इस मामले में, यह घटक JSF घटक ट्री (यानी जावा कोड में उपलब्ध नहीं) का हिस्सा नहीं होगा। इसके अलावा, आप इसे सीधे अजाक्स का उपयोग करके ताज़ा नहीं कर पाएंगे (इसके अलावा, यदि आप सीधे अपने कुछ जावास्क्रिप्ट कोड में ताज़ा करते हैं)।
रोमेन लिंसोलस

1
उत्तर सत्य का आधा ही है। यहाँ देखें docs.oracle.com/javaee/5/javaserverfaces/1.2/docs/tlddocs/h/… या यहाँ docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/… । जानकारी का महत्वपूर्ण टुकड़ा यह है कि आपको एक होने के लिए एक styleया styleClassविशेषता की भी आवश्यकता divहै ... जो कहानी को बिल्कुल अजीब बनाता है IMHO: एक सादा <h:panelGroup layout="block">एक प्रस्तुत करना होगा <span>? यह मेरे लिए कोई मतलब नहीं है।
कावू

18

JSF 2.2 में पश्थ्रू तत्वों का उपयोग करना संभव है :

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

आवश्यकता है कि jsf नाम स्थान का उपयोग करते हुए तत्व में कम से कम एक विशेषता हो।


14

<h:panelGroup>घटक के अलावा (जो मेरे लिए थोड़ा आश्चर्य के रूप में आता है), आप अपने इच्छित किसी भी मार्क-अप को उत्पन्न <f:verbatim>करने के falseलिए एस्केप पैरामीटर के साथ एक टैग का उपयोग कर सकते हैं। उदाहरण के लिए:

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

ध्यान रखें कि यह panelGroupसमाधान की तुलना में थोड़ा कम सुरुचिपूर्ण है , क्योंकि आपको यह शुरुआत और अंत टैग दोनों के लिए उत्पन्न करना है यदि आप टैग के साथ अपने किसी भी जेएसएफ कोड को लपेटना चाहते हैं div

वैकल्पिक रूप से, सभी प्रमुख UI फ़्रेमवर्क में एक divघटक टैग होता है, या आप अपना स्वयं का लिख ​​सकते हैं।


4
क्या हमें सीधे div टैग का उपयोग नहीं करना चाहिए? यदि कोई हो तो क्या समस्या हो सकती है?
रजत गुप्ता

3

आप myfaces tomahawk घटक का उपयोग कर सकते हैं

http://myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_div.html


मैं भी एक परियोजना से tomahawk को हटा दिया। बाद में परियोजना बहुत तेज थी! मैं tomahawk का उपयोग करने की सलाह नहीं दूंगा!
मार्सेल

1
मैं इसका जवाब 2011 में देता हूं। अब, मैं प्राइमफेस का उपयोग कर रहा हूं, और इसके बारे में बहुत अच्छा महसूस करता हूं
जैक जिन

-3

मुझे लगता है कि आप शब्दशः टैग का उपयोग कर सकते हैं, क्योंकि इस टैग में हम किसी भी HTML टैग का उपयोग करते हैं


गंभीरता से? क्यों? शब्दशः टैग कुछ ऐसा है जो jsp युग में प्रासंगिक था। फ़ेसलेट्स युग में (अब 10 साल?) यह ज्यादातर अतिशयोक्तिपूर्ण है, निश्चित रूप से इस मामले में।
कुकटेलजे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.