java– 为什么SpEL不支持unicode变量?如何解决?

java– 为什么SpEL不支持unicode变量?如何解决?,第1张

概述代码优先@Test public void tryUnicode() { SpelExpressionParser parser = new SpelExpressionParser(); Object rootObject = new Object() { public String getName()

代码优先

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

有些时候我们只需要一个unicode名称,它对我们的自定义模板更友好. SpEL简单,易用且内置,我不想使用其他EL解决方案,我该如何解决这个问题?

编辑

在org.springframework.Expression.spel.standard.Tokenizer#isIDentifIEr中,他们只接受isAlphabetic(ch)|| isDigit(ch)|| ch ==’_’|| ch ==’$’;没有unicode支持,但是java标识符允许unicode,很难过.

最佳答案您可以破解它 – 根据需要检查并修改源代码.或者您可以创建问题,或者分叉存储库,添加Unicode支持并提交拉取请求.没有其他办法.
至于为什么,我想知道自己. 总结

以上是内存溢出为你收集整理的java – 为什么SpEL不支持unicode变量?如何解决?全部内容,希望文章能够帮你解决java – 为什么SpEL不支持unicode变量?如何解决?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1248310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存