दिलचस्प पोस्ट
"Wc -l" फ़ाइल नाम के बिना सिर्फ लाइनों की संख्या को कैसे प्रिंट करें? एक सर्वर से फेसबुक फैन पेज पर पोस्ट करने के लिए एक लंबे समय तक चलने वाले टोकन प्राप्त करने के कदम क्या हैं? PHP फ़ंक्शन ओवरलोडिंग जावा कन्वर्टर में इसे लीक कर रहा है विजुअल स्टूडियो 2012 के साथ विन एक्सपी के लिए कैसे संकलित करें? मैं एक IEnumerable <String> को IEnumerable के समूहों में कैसे विभाजित कर सकता हूं <स्ट्रिंग> गिट: मर्ज के दौरान कुछ फाइलों की उपेक्षा करें (कुछ फ़ाइलों को एक शाखा तक सीमित रखें) php: पकड़ अपवाद और निष्पादन जारी है, यह संभव है? नियम इंजन – पेशेवर और विपक्ष UIView के बजाय UIPickerView में छूने का जवाब देना क्यों नहीं एक मूल्य वापस बिना एक गैर शून्य समारोह के अंत बहता एक कंपाइलर त्रुटि का उत्पादन? आर आंकड़ों में डमी वैरिएबल बनाना 'क्लास। फोर्मेम ("MY_JDBC_DRIVER")' का उद्देश्य क्या है? मैं एक केंद्रित JComboBox का हाइलाइट रंग कैसे बदल सकता हूँ क्या जावास्क्रिप्ट उच्च संकल्प टाइमर प्रदान करता है?

JSG के साथ webjars.org से Font Awesome का उपयोग कैसे करें

मैं अपने जेएसएफ आवेदन के साथ फ़ॉन्ट विस्मयकारी आइकन का उपयोग करने की कोशिश कर रहा हूं। प्रारंभिक निर्देशों का पालन करके और मेरे दृश्य के <h:head> अनुभाग में निम्नलिखित को जोड़कर मुझे कुछ सफलता मिली है:

 <link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet" /> 

जब मैं icon-home क्लास का उपयोग करता हूं तो यह मुझे एक अच्छा घर आइकन देता है:

यहां छवि विवरण दर्ज करें

हालांकि, मैं फ़ॉन्ट भयानक संसाधन प्रदान करने के लिए बूटस्ट्रैप सर्वर पर निर्भर नहीं होना चाहता, इसलिए मैं अपने युद्ध के साथ इसे इकट्ठा करने की कोशिश कर रहा हूं, और बंडल संसाधनों का उपयोग करने के लिए मेरे विचारों को कॉन्फ़िगर कर रहा हूं।

वेबजर्स परियोजना द्वारा निर्मित पूर्व निर्मित जेएआर का उपयोग कर रहा हूं। मेरी पोम में निम्न निर्भरता है:

 <dependency> <groupId>org.webjars</groupId> <artifactId>font-awesome</artifactId> <version>3.2.1</version> </dependency> 

यह मेरे युद्ध के WEB-INF / lib निर्देशिका में जार को स्थान देता है। जार के ढांचे के प्रमुख हिस्से हैं:

 META-INF - MANIFEST.MF + maven - resources - webjars - font-awesome - 3.2.1 - css - font-awesome.css - *other css files* - font - *font files* 

मैंने अपने प्रोजेक्ट में चिह्नों को शामिल करने के लिए निम्न प्रयास किए हैं:

 <h:outputStylesheet library="webjars" name="font-awesome/3.2.1/css/font-awesome.css" /> 

हालांकि, यह पहले काम कर रहे होम आइकन को निम्न रूप में प्रदान करता है:

यहां छवि विवरण दर्ज करें

और मेरा ब्राउज़र (क्रोम) कंसोल में निम्न त्रुटियों को दिखाता है (डोमेन / पोर्ट / संदर्भ-रूट को निर्दोष की रक्षा के लिए बदल दिया गया है;):

 GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.woff?v=3.2.1 404 (Not Found) GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.ttf?v=3.2.1 404 (Not Found) GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.svg 404 (Not Found) 

तो ऐसा लगता है कि सीएसएस फ़ाइल ठीक से हल हो गई है, फाइल जो सीएसएस फ़ाइल को संदर्भित फोंट में नहीं मिल सकती है। मैंने उन संदर्भों को सीएसएस फ़ाइल में देखा है और ये हैं:

 src: url('../font/fontawesome-webfont.eot?v=3.2.1'); src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg'); 

उन पथ सीएसएस संसाधन के सापेक्ष हैं, इसलिए मैंने सोचा कि जेएसएफ को इसे खोजने में कोई समस्या नहीं होनी चाहिए। अब मुझे यकीन नहीं है कि क्या करना है

कोई संकेत महान होगा! चीयर्स।

Solutions Collecting From Web of "JSG के साथ webjars.org से Font Awesome का उपयोग कैसे करें"

उन यूआरएल में जेएसएफ़ मैपिंग और लाइब्रेरी नाम गुम है। यदि आपने *.xhtml FacesServlet पर अपने FacesServlet मैप किए हैं, तो वे URL वास्तव में होंगे:

 GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.woff.xhtml?ln=webjars&v=3.2.1 GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.ttf.xhtml?ln=webjars&v=3.2.1 GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.svg.xhtml?ln=webjars 

मूल रूप से, आपको उचित JSF संसाधन यूआरएल को प्रिंट करने के लिए सीएसएस फ़ाइल में #{resource} का प्रयोग करना चाहिए:

 src: url("#{resource['webjars:font-awesome/3.2.1/font/fontawesome-webfont.eot']}&v=3.2.1"); src: url("#{resource['webjars:font-awesome/3.2.1/font/fontawesome-webfont.eot']}&#iefix&v=3.2.1"); 

हालांकि, जैसा कि स्रोत कोड वास्तव में आपके नियंत्रण से बाहर है (आप इसे संपादित नहीं कर सकते हैं), फिर संसाधन को प्रबंधित करने का कोई अन्य तरीका नहीं है जो स्वयं को संभालना है जेएसएफ यूटिलिटी लाइब्रेरी OmniFaces सटीक प्रयोजन के लिए बॉक्स से UnmappedResourceHandler रिसोर्सहान्डलर प्रदान करती है। निम्न चरणों के साथ आपकी समस्या हल होनी चाहिए:

  1. OmniFaces स्थापित करें, यह मेवेन पर भी उपलब्ध है

     <dependency> <groupId>org.omnifaces</groupId> <artifactId>omnifaces</artifactId> <version><!-- Check omnifaces.org for current version. --></version> </dependency> 
  2. UnmappedResourceHandler में faces-config.xml में निम्नानुसार रजिस्टर करें:

     <application> <resource-handler>org.omnifaces.resourcehandler.UnmappedResourceHandler</resource-handler> </application> 
  3. / /javax.faces.resource/* को FacesServlet मैपिंग में जोड़ें, मान लें कि सर्वलेट का नाम facesServlet और आप पहले से ही *.xhtml facesServlet पर मैपिंग कर चुके हैं:

     <servlet-mapping> <servlet-name>facesServlet</servlet-name> <url-pattern>/javax.faces.resource/*</url-pattern> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> 
  4. संसाधन नाम में <h:outputStylesheet> लाइब्रेरी नाम को ले जाएं।

     <h:outputStylesheet name="webjars/font-awesome/3.2.1/css/font-awesome.css" /> 
  5. फायदा।

ऊपर दिए गए उत्तर का प्रकार अप्रचलित है कुछ रिलीज़ होने से पहले, फोंट-भयानक के वेबजर संस्करण में सीएसएस के विशिष्ट जेएसएफ-आइआईडी संस्करण शामिल हैं, इसलिए कॉन्फ़िगर करने के लिए कुछ नहीं है। अपनी परियोजना के लिए जार जोड़ें, या तो मेवेन के माध्यम से

 <dependency> <groupId>org.webjars</groupId> <artifactId>font-awesome</artifactId> <version>4.6.3</version> </dependency> 

या सीधे और यह सिर्फ काम करता है बस सुनिश्चित करें कि आप सही सीएसएस को शामिल करते हैं

 <h:outputStylesheet library="webjars" name="font-awesome/4.6.3/css/font-awesome-jsf.css" /> 

नाम में जेएसएफ नोट !!! इस तरह आप हमेशा अपने आवेदन में नवीनतम संस्करण प्राप्त कर सकते हैं और कुछ नया रिलीज पीएफ पर निर्भर नहीं करते हैं

BalusC के उत्तर के अलावा, यह एक अच्छा विचार है कि निम्नलिखित mime-mapping को वेब। एक्सएमएल में जोड़ें

 <!-- web fonts --> <mime-mapping> <extension>eot</extension> <mime-type>application/vnd.ms-fontobject</mime-type> </mime-mapping> <mime-mapping> <extension>otf</extension> <mime-type>font/opentype</mime-type> </mime-mapping> <mime-mapping> <extension>ttf</extension> <mime-type>application/x-font-ttf</mime-type> </mime-mapping> <mime-mapping> <extension>woff</extension> <mime-type>application/x-font-woff</mime-type> </mime-mapping> <mime-mapping> <extension>woff2</extension> <mime-type>application/x-font-woff2</mime-type> </mime-mapping> <mime-mapping> <extension>svg</extension> <mime-type>image/svg+xml</mime-type> </mime-mapping> <mime-mapping> <extension>ico</extension> <mime-type>image/x-icon</mime-type> </mime-mapping> 

बलुस और फाटम अलीमम के उत्तर के अलावा, यह जोड़कर भी उपयोगी हो सकता है:

 <context-param> <param-name>primefaces.FONT_AWESOME</param-name> <param-value>true</param-value> </context-param> 

इस लिंक के अनुसार