Spring SpEL无法处理'é';?

Spring SpEL无法处理'é';?,spring,spring-el,Spring,Spring El,我是法国人,所以我在代码中加入了一些éèèè。(而且我的英语说得不太好) 我在类公式集中有这样一个方法: public static Formulaire exposé() 在配置spring xml文件中,我尝试: <entry key="intro" value="#{T(com.myproject.Formulaires).exposé()}"/> 但斯普林说: Caused by: java.lang.IllegalStateException: Cannot

我是法国人,所以我在代码中加入了一些éèèè。(而且我的英语说得不太好)

我在类
公式集
中有这样一个方法:

  public static Formulaire exposé()
在配置spring xml文件中,我尝试:

<entry 
key="intro" 
value="#{T(com.myproject.Formulaires).exposé()}"/>

但斯普林说:

Caused by: java.lang.IllegalStateException: Cannot handle (233) 'é'
    at org.springframework.expression.spel.standard.Tokenizer.process(Tokenizer.java:193)
    at org.springframework.expression.spel.standard.Tokenizer.<init>(Tokenizer.java:47)
    at org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:110)
    at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:56)
    at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:1)
    at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpressions(TemplateAwareExpressionParser.java:128)
    at org.springframework.expression.common.TemplateAwareExpressionParser.parseTemplate(TemplateAwareExpressionParser.java:74)
    at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:64)
    at org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java:119)
    ... 47 more
原因:java.lang.IllegalStateException:无法处理(233)“é”
位于org.springframework.expression.spel.standard.Tokenizer.process(Tokenizer.java:193)
位于org.springframework.expression.spel.standard.Tokenizer.(Tokenizer.java:47)
位于org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:110)
位于org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:56)
位于org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:1)
位于org.springframework.expression.common.TemplateAwareExpressionParser.parseExpressions(TemplateAwareExpressionParser.java:128)
位于org.springframework.expression.common.TemplateAwareExpressionParser.parseTemplate(TemplateAwareExpressionParser.java:74)
位于org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:64)
位于org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java:119)
... 47多
如果我把e和noté放在一起,一切都好

口音有什么特殊限制吗

我使用Spring3.0.5


谢谢。

基本UTF-8字符编码中不存在重音字符,SpringXML文件可能会使用这种编码。正如错误所说,解析器无法处理重音字符


你无法轻松解决这个问题。重音字符也会给其他编程领域带来问题。我认为最好是避免使用它们。

这里有更多内容。标记器中的以下代码决定它是否为字母字符

private boolean isAlphabetic(char ch) {
    if (ch>255) {
        return false;
    }
    return (flags[ch] & IS_ALPHA)!=0;
}

你的角色很幸运,除了spring spel,我在其他方面的编程都没有问题。不管怎样,我要把这个去掉。谢谢。好吧,假设你已经尝试了编程的所有领域,我仍然建议你停止使用重音字符。我也是法国人,这是我有生以来第一次看到方法名带有口音。好极了!!!顺便提一下,为什么不重写java,让它接受“公共统计公式集公开”;-)您是否尝试过“#{T(com.myproject.Formulaires.exposé;()}”
static {
    for (int ch='0';ch<='9';ch++) {
        flags[ch]|=IS_DIGIT | IS_HEXDIGIT;
    }
    for (int ch='A';ch<='F';ch++) {
        flags[ch]|= IS_HEXDIGIT;
    }
    for (int ch='a';ch<='f';ch++) {
        flags[ch]|= IS_HEXDIGIT;
    }
    for (int ch='A';ch<='Z';ch++) {
        flags[ch]|= IS_ALPHA;
    }
    for (int ch='a';ch<='z';ch++) {
        flags[ch]|= IS_ALPHA;
    }