java - Concatenate strings in JSF/JSP EL and Javascript -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 1 उत्तर

मुझे परेशानी हो रही है ईएल और जावास्क्रिप्ट फ़ंक्शंस (जेएसएफ़ 1.2, फेसलेट्स, रिचफेस 3.3.0 जीए)। मेरे पास एक ऐसा पृष्ठ है जिसमें एक और रचना शामिल है:

  & lt; ui: शामिल करें src = "/ pages / panels / examinationPanel.xhtml" & gt; & Lt; ui: परम नाम = "उपसर्ग" मान = "नया" / & gt;  

और मेरे UI में: रचना मैं प्रत्येक आईडी को उपसर्ग जोड़ना चाहता हूं उदाहरण के लिए:

  & lt; rich: modalPanel id = "# {prefix} _examinationPanel" & gt;  

यह ठीक काम करता है।

लेकिन समस्या तब आती है जब मैं घटकों जैसे कि अधूरे जैसे कार्यों में पहुँचना चाहता हूं, मैं इसे प्राप्त नहीं कर सकता तार को ठीक से जोड़ना उदाहरण के लिए

  overcomplete = "# {rich: घटक ('# {prefix} _examinationPanel'}}। शो ();"   

मैंने कोशिश की है fn: join के साथ भी, लेकिन फ़ंक्शन निष्पादित नहीं करता क्योंकि यह त्रुटियों के बारे में शिकायत करता है जब "#" वर्ण मिल जाता है उदाहरण के लिए:

  overcomplete = "# {rich: घटक (fn: join (# {prefix}, 'examinationPanel'))}। Show ()"  
Servlet.service () servlet के लिए servlet.service () के लिए servlets.slet () सर्विस अपलेट org.apache.el.parser.ParseException फेंकता है: "fn: join" (# 1 पंक्ति में, कॉलम 33. आबद्ध "fn: join" (# "

विभिन्न त्रुटियों को अगर मैं इसे कोष्ठक के साथ या # और ब्रैकेट के साथ ब्रेस करता हूं।

मैं क्या कर रहा हूँ गलत?

और एक अन्य प्रश्न, जैसे

  oncomplete = "# {a}? # {B}: # {c}"  

मैं "समूह" कैसे सही या गलत होने पर अधिक क्रियाएं निष्पादित कर सकता हूं? उदाहरण के लिए:

मैंने कोष्ठक के साथ की कोशिश की है लेकिन इसे ठीक से पार्स नहीं करता।

< P> अग्रिम धन्यवाद।

मान लें कि आप फेसलेट्स का उपयोग कर रहे हैं, यह एक अपेक्षाकृत अच्छा समाधान है:

  • बनाओ func Tions.taglib.xml अपने वेब-आईएनएफ में
  • स्थान का संकेत प्रसंग परम जोड़ें:

      & lt; context-param & gt; & LT; परम-नाम & gt; facelets.LIBRARIES & lt; / परम-नाम & gt; & LT; परम-मूल्य & gt; /WEB-INF/functions.taglib.xml & lt; / param- मूल्य & gt; & Lt; / संदर्भ param & gt;  
  • एक्सएमएल में निम्नलिखित डाल:

      & lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8 "& gt; & Lt;! DOCTYPE फेसलेट-टैगलिब पब्लिक "- // सन माइक्रोसिस्टम्स, इंक। / डीओडीटीआई फेसलेट टैगलिब 1.0 // एन" "https://facelets.dev.java.net/source/browse/*checkout*/facelets/ src / etc / facelet-taglib_1_0.dtd "& gt; & Lt; फेसलेट-टैगलिब xmlns = "http://java.sun.com/JSF/Facelet" & gt; & LT; नाम स्थान & gt; http: //yournamespace.com/fnc< / नाम स्थान & gt; & LT; समारोह & gt; & LT; समारोह-नाम & gt; concat & lt; / समारोह-नाम & gt; & LT; समारोह स्तरीय & gt; com.yourpackage.utils.Functions & lt; / समारोह स्तरीय & gt; & LT; समारोह हस्ताक्षर & gt; Java.lang.String concat (java.lang.String, java.lang.String) & lt; / फ़ंक्शन-हस्ताक्षर & gt; & Lt; / समारोह & gt; & Lt; / facelet-taglib & gt;  
  • पृष्ठ में निम्न का उपयोग करें:

      xmlns: fnc = "http://yournamespace.com/fnc" .... अधूरे = "# {अमीर: घटक (एफएनसी: कॉन्सैट (उपसर्ग, '_ एक्सैमिनेशन पैनेल'))}। शो ();"  
  • अंत में, फ़ंक्शन वर्ग में सरल विधि को परिभाषित:

      सार्वजनिक स्थिर स्ट्रिंग कॉनटैट (स्ट्रिंग स्ट्रिंग 1, स्ट्रिंग स्ट्रिंग 2) {return string1.concat (string2); }  

Comments

Popular posts from this blog

sql - dynamically varied number of conditions in the 'where' statement using LINQ -

asp.net mvc - Dynamically Generated Ajax.BeginForm -

Debug on symbian -