2014-07-08 6 views
6

कोड पहलेक्यों SPEL यूनिकोड चर का समर्थन नहीं करता है? चारों ओर कैसे काम करें?

@Test 
public void tryUnicode() 
{ 
    SpelExpressionParser parser = new SpelExpressionParser(); 
    Object rootObject = new Object() 
    { 
     public String getName() 
     { 
      return "wener"; 
     } 

     public String get名字() 
     { 
      return getName(); 
     } 
    }; 
    // ok 
    assert parser.parseExpression("name").getValue(rootObject).equals("wener"); 
    // not ok 
    assert parser.parseExpression("名字").getValue(rootObject).equals("wener"); 
} 

कुछ समय हम सिर्फ एक यूनिकोड नाम की जरूरत है, यह टेम्पलेट में हमारे कस्टम के लिए अधिक अनुकूल है। स्पेल सरल, आसान और अंतर्निहित है, मैं एक और ईएल समाधान का उपयोग नहीं करना चाहता, मैं इस समस्या को कैसे हल कर सकता हूं?

संपादित

org.springframework.expression.spel.standard.Tokenizer#isIdentifier में, वे केवल isAlphabetic(ch) || isDigit(ch) || ch == '_' || ch == '$'; कोई यूनिकोड समर्थन स्वीकार करते हैं, लेकिन जावा पहचानकर्ता अनुमति यूनिकोड, दु: खी।

उत्तर

0

आप इसे हैक कर सकते हैं - आपको आवश्यकतानुसार स्रोत देखें और संशोधित करें। या आप समस्या बना सकते हैं, या भंडार फोर्क कर सकते हैं, यूनिकोड समर्थन जोड़ें और पुल अनुरोध जमा करें। और कोई रास्ता नहीं है। क्यों, मैं खुद को जानना चाहता हूं।

+0

क्यों कम? कृपया समझाएं, इसलिए मैं अगली बार बेहतर कर सकता हूं या शायद इसे ठीक कर सकता हूं :) – Czar

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