Code pierwszydlaczego Spel nie obsługuje zmiennej Unicode? Jak obejść?
@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");
}
Jakiś czas musimy tylko nazwę unicode, jest bardziej przyjazne dla naszego zwyczaju w szablonie. Spel jest prosty, łatwy i wbudowany, nie chcę używać innego rozwiązania EL, jak mogę rozwiązać ten problem?
EDIT
W org.springframework.expression.spel.standard.Tokenizer#isIdentifier
, tylko zaakceptować isAlphabetic(ch) || isDigit(ch) || ch == '_' || ch == '$';
żadnego wsparcia dla Unicode, ale identyfikator java dozwolone Unicode, smutny.
Dlaczego minus? Wyjaśnij, więc następnym razem lepiej, a może nawet poprawię to :) – Czar