कोड पहलेक्यों 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 == '$';
कोई यूनिकोड समर्थन स्वीकार करते हैं, लेकिन जावा पहचानकर्ता अनुमति यूनिकोड, दु: खी।
क्यों कम? कृपया समझाएं, इसलिए मैं अगली बार बेहतर कर सकता हूं या शायद इसे ठीक कर सकता हूं :) – Czar