2012-06-24 17 views
6

मेरे पास एक बहुत ही सरल एप्लीकेशन है, मेरे इंडेक्स पेज में एक इनपुट टेक्स्ट है और पेज 2.xhtml पर जाने के लिए एक बटन है।यूटीएफ -8 3.x

<h:body> 
     <h:form> 
      <h:inputText value="#{mainBean.testValue}"/> 
      <p:commandButton update="myoutput" value="ajax call" ajax="false"/> 
      <p:separator /> 
      <h:commandButton action="#{mainBean.gotoPageTwo}" value="goto Page2"/> 
      <br/> 
      <h:outputText value="#{mainBean.testValue}" id="myoutput"/> 
     </h:form> 
    </h:body> 
</html> 

मैंने प्राइमफेस 2.2.1 के साथ इस एप्लिकेशन का परीक्षण किया और कोई समस्या नहीं थी। लेकिन उपर्युक्त बटन में से प्रत्येक सबमिट करने के बाद, मेरे यूटीएफ -8 वर्ण नष्ट हो जाएंगे। मैंने filter का परीक्षण किया लेकिन यह काम नहीं करता है। क्या यह प्राइमफेसेस 3.x में एक बग है? क्या कोई शरीर इस समस्या को हल कर सकता है?

+0

आप स्थानीय बनाना जहां समस्या है की कोशिश की है देखते हैं? क्या ऐससेवर आपके ब्राउज़र पर यूटीएफ -8 भेजता है, लेकिन प्रतिक्रिया शीर्षलेख कहते हैं कि यह (उदा।) लैटिन 1 है? या क्या ब्राउज़र पर भेजने से पहले ऐप्सरवर/फ्रेमवर्क आपके पात्रों को लैटिन 1 में परिवर्तित कर देता है? – millimoose

+0

मैंने फ़ायरबॉक्स के साथ सामग्री-प्रकार की जांच की और यह था: टेक्स्ट/एचटीएमएल; वर्णसेट = यूटीएफ -8। ध्यान दें कि प्राइमफेस 2.2.1 – zorro6064

उत्तर

5

जवाब आप PrimeFaces मंच पर पाया की web.xml उदाहरण अधूरा है। <filter-mapping> गुम है। इसके बिना, फ़िल्टर भी बिल्कुल नहीं चलाएगा। यह जोड़े तदनुसार

<filter-mapping> 
    <filter-name>Character Encoding Filter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

जब आप सर्वलेट 3.0 (बिलाव 7, Glassfish 3, आदि) कगार पर हैं, एक वैकल्पिक वर्ग पर सिर्फ @WebFilter एनोटेशन का प्रयोग है। web.xml से फ़िल्टर प्रविष्टि को निकालना न भूलें।

@WebFilter("/*") 

PrimeFaces 2.x-3.x उन्नयन के दौरान इस वर्ण एन्कोडिंग समस्या का कारण की पृष्ठभूमि स्पष्टीकरण के लिए, यह भी Unicode input retrieved via PrimeFaces input components become corrupted

+0

के साथ कोई समस्या नहीं है आप सही हैं, फिर भी मेरा जवाब पूरी तरह समाप्त नहीं हुआ था। मैं कई बार संपादित करता हूं (जैसा कि आप करते हैं) :) – atamanroman

+0

धन्यवाद। मेरी समस्या हल हो गई। लेकिन अन्य अनुप्रयोगों में, पृष्ठों में प्राइमफ़ेस फ़ाइलअपलोड है, समस्या दिखाई देगी। असल में मेरे पास web.xml में दो फ़िल्टर हैं और जब पी है: पृष्ठ में अपलोड करें, वर्ण एन्कोडिंग फ़िल्टर काम नहीं करता है। यह कैसे हल करें? – zorro6064

+1

सुनिश्चित करें कि चरित्र एन्कोडिंग फ़िल्टर को प्राइमफ़ेस फ़ाइल अपलोड करने से पहले 'web.xml' में फ़िल्टर किया गया है। – BalusC

संबंधित मुद्दे