क्या जेएसएफ 2 समग्र घटकों में विरासत जैसी कोई चीज है?क्या जेएसएफ 2 समग्र घटकों में विरासत जैसी कोई चीज है?
जहां तक मुझे पता है, वहां नहीं है। मैं बस सुनिश्चित कर रहा हूं।
धन्यवाद!
क्या जेएसएफ 2 समग्र घटकों में विरासत जैसी कोई चीज है?क्या जेएसएफ 2 समग्र घटकों में विरासत जैसी कोई चीज है?
जहां तक मुझे पता है, वहां नहीं है। मैं बस सुनिश्चित कर रहा हूं।
धन्यवाद!
संयुक्त घटकों की विरासत संभव नहीं है। कोड डुप्लिकेशन से बचने के लिए हमने क्या किया है जेएसएफ 2 समग्र घटक के कार्यान्वयन को सजाने के लिए।
सामान हमारे आवेदन के सभी इनपुट फ़ील्ड द्वारा साझा इस तरह एक डेकोरेटर खाके में प्रदान की जाती है:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:cu="http://mytags.de/jsftags">
<!-- provides a common set of layout information for inputfields -->
<ui:param name ="fieldStyle" value="#{propertiesController.get('FIELD_STYLE', cc.attrs.name)}" />
<h:panelGroup id="basicInputField" styleClass="basicInputField" layout="block" style="width: #{cc.attrs.width}; height: #{cc.attrs.height};">
<ui:insert name="component">
no component given...
</ui:insert>
</h:panelGroup>
</ui:composition>
और समग्र घटक खुद को सजाने के लिए टेम्पलेट का उपयोग करता है:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:cu="http://mytags.de/jsftags">
<cc:interface>
<cc:attribute name="name" required="true" />
<cc:attribute name="width" required="false" default="auto" />
<cc:attribute name="height" required="false" default="auto" />
<cc:attribute name="inset" required="false" default="0px" />
</cc:interface>
<cc:implementation>
<ui:decorate template="basicInputField.xhtml">
<ui:define name="component">
<h:inputText id="inputText" style="#{fieldStyle} width: 100%;" value="#{levelContent.test}" />
</ui:define>
</ui:decorate>
</cc:implementation>
</html>
इस तरह जब हम क्षेत्र गुणों (यानी केवल पढ़ने, आवश्यक, शैली, ...) परिवर्तन लाते हैं, तो हमें केवल सजावटी टेम्पलेट को बदलने की आवश्यकता होती है।
मुझे सटीक उत्तर देने के लिए निश्चित नहीं है, लेकिन मुझे लगता है कि समग्र घटकों में विरासत के प्रतिस्थापन बच्चे के घटक हैं। देखें: http://weblogs.java.net/blog/cayhorstmann/archive/2010/01/30/composite-input-components-jsf – sfrj