加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 01:27:30 所属栏目:大数据 来源:网络整理
导读:代码优先 @Testpublic void tryUnicode(){ SpelExpressionParser parser = new SpelExpressionParser(); Object rootObject = new Object() { public String getName() { return "wener"; } public String get名字() { return getName(); } }; // ok assert

代码优先

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

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

编辑

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读