मैं 2 से अधिक वर्षों से जेएसएफ + आरएफ का उपयोग कर रहा हूं और घटकों की मौजूदा क्षमताओं को विस्तारित करने का मौका नहीं मिला है।एच बढ़ाएं: कस्टम कार्यक्षमता के लिए outputText
अब आवश्यकता है कि मुझे स्ट्रिंग को ट्रिम करना होगा और 25 से अधिक वर्ण होने पर इसे प्रदर्शित करना होगा।
यह
<c:choose>
<c:when test="#{fn:length(teststep.name) > 25}">
<h:outputText title="#{teststep.name}" value="#{fn:substring(teststep.name, 0, 25)}..."/>
</c:when>
<c:otherwise>
<h:outputText title="#{teststep.name}" value="#{teststep.name}"/>
</c:otherwise>
</c:choose>
नीचे के रूप में हासिल किया गया है लेकिन मैं बहुत कई स्थानों में इस कोड का उपयोग (और 8 लाइनों हर की बॉयलरप्लेट कोड से बचना चाहते हैं) तो कस्टम ज के बारे में सोचा: outputText ट्रिम सुविधा प्रदान करने के।
तुम मुझे पता है कि मैं JSF
में कस्टम टैग लिखते थे जाने सकासादर, सत्या
मैं 1 समाधान की कोशिश की है और कि फ्लॉप मुझे प्रभावित :) लेकिन जैसे कुछ करना चाहते हैं । क्या एच के आउटपुट को अभी भी बरकरार रखने के किसी भी मौके से: outputText और केवल कुछ और क्षमताओं को जोड़ना है? –
Satya
मैं तीसरे विकल्प की कोशिश करूंगा, ऐसा लगता है कि मेरे लिए कुछ नया सीख रहा है :)। धन्यवाद बहुत सारे BalusC – Satya
किसी मौजूदा घटक में एक नई विशेषता जोड़ना केवल कस्टम घटक द्वारा संभव है, कस्टम टैग नहीं। यह एक बहुत ही कठिन काम है। आपको ** सभी ** मौजूदा टैग विशेषताओं की प्रतिलिपि बनाना है क्योंकि मौजूदा टैग से उत्तराधिकारी संभव नहीं है। आसान '' के रूप में अतिरिक्त विशेषता प्रदान करना और डिफ़ॉल्ट 'रेंडरर' को ओवरराइड करना होगा। –
BalusC