2014-07-08 6 views
6

-Code zuerstWarum SpEL keine Unicode-Variable unterstützt? Wie arbeitest du?

@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"); 
} 

einige Zeit wir einen Unicode-Namen nur brauchen, ist es freundlicher unsere Gewohnheit in Vorlage. SpEL ist einfach, einfach und eingebaut, ich möchte keine andere EL-Lösung verwenden, wie kann ich dieses Problem lösen?

EDIT

In org.springframework.expression.spel.standard.Tokenizer#isIdentifier, sie nehmen nur isAlphabetic(ch) || isDigit(ch) || ch == '_' || ch == '$'; keine Unicode-Unterstützung, aber Java-Kennung Unicode erlaubt, traurig.

Antwort

0

Sie können es hacken - überprüfen und ändern Quelle wie Sie brauchen. Oder Sie können ein Problem erstellen oder das Repository forkieren, Unicode-Unterstützung hinzufügen und eine Pull-Anforderung senden. Es geht nicht anders. Warum, möchte ich das selbst wissen.

+0

Warum minus? Bitte erkläre, damit ich es beim nächsten Mal besser machen oder vielleicht sogar reparieren kann :) – Czar