मुझे कुछ समान प्रश्न हैं जैसे this एक, हालांकि ऐसा कई तरीकों से किया जा सकता है जिससे मुझे और अधिक भ्रमित कर दिया गया।डायनामिक जेएसएफ फॉर्म फ़ील्ड कैसे बनाएं
हमें XML
फ़ाइल मिल रही है जिसे हम पढ़ रहे हैं। यह XML
में कुछ फॉर्म फ़ील्ड पर जानकारी शामिल है जिन्हें प्रस्तुत करने की आवश्यकता है।
public class DynamicField {
private String label; // label of the field
private String fieldKey; // some key to identify the field
private String fieldValue; // the value of field
private String type; // can be input,radio,selectbox etc
// Getters + setters.
}
तो हम एक List<DynamicField>
है:
तो मैं इस कस्टम DynamicField.java
सब हमारे लिए आवश्यक जानकारी है कि बनाया।
मैं इस सूची के माध्यम से पुनरावृति और फार्म खानों को भरने तो यह कुछ इस तरह दिखता हैं:
<h:dataTable value="#{dynamicFields}" var="field">
<my:someCustomComponent value="#{field}" />
</h:dataTable>
<my:someCustomComponent>
तो वापसी होगी उचित JSF प्रपत्र घटकों (यानी लेबल, inputText)
एक अन्य दृष्टिकोण केवल <my:someCustomComponent>
प्रदर्शित करना होगा और उसके बाद फॉर्म तत्वों के साथ HtmlDataTable
वापस कर देगा। (मुझे लगता है कि यह करना आसान हो सकता है)।
कौन सा दृष्टिकोण सर्वोत्तम है? क्या कोई मुझे कुछ लिंक या कोड पर दिखा सकता है जहां यह दिखाता है कि मैं इसे कैसे बना सकता हूं? मैं पूर्ण कोड उदाहरण पसंद करता हूं, और उत्तर नहीं देता "आपको javax.faces.component.UIComponent
का उप-वर्ग चाहिए"।
एक चौथा विकल्प है: प्राइमफेस विस्तार घटक: डायनाफॉर्म (http://www.primefaces.org/showcase-ext/views/home.jsf)। इसमें कुछ सीमाएं हैं, लेकिन अधिकांश उपयोगकर्ताओं के लिए पर्याप्त होगी। –
हाय बलुस, मैं आपके का बड़ा प्रशंसक हूं। मैं आपके उत्तरों के माध्यम से सीख रहा हूं और मुझे किसी समस्या पर कुछ चर्चा करने के लिए आपके मेल आईडी की आवश्यकता है जिसे मैं अब सामना कर रहा हूं। कृपया मुझे अपनी आईडी [email protected] पर मेल करें –