2015-04-09 5 views
5

Sto usando Spring Expression Language (SpEL) e ho creato un programma di esempio. Lo snippet di codice èSPEL analizzando un'espressione valida, c'è ancora più dati nell'espressione

ExpressionParser parser=new SpelExpressionParser(); 
Expression expression=parser.parseExpression("Hello SPEL"); 

Ma ottenuto sotto errore.

Exception in thread "main" org.springframework.expression.spel.SpelParseException: EL1041E:(pos 6): After parsing a valid expression, there is still more data in the expression: 'SPEL' 
    at org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:116) 
    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.parseExpression(TemplateAwareExpressionParser.java:66) 
    at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:56) 

risposta

8

Prova

Expression expression=parser.parseExpression("'Hello SPEL'"); 

invece.

Il parametro è una stringa, ma il parser deve sapere che questa è una stringa, perché è possibile analizzare anche altre cose.

Per ulteriori informazioni, dare un'occhiata here.

0

Prova questo

Expression expression=parser.parseExpression("'Hello SPRING'"); 
0

I m di fronte alla stessa eccezione quando si inietta un fagiolo con file xml:

<bean id="myBean" 
      class="mypackage.mybean" 
      destroy-method="destroy" 
      p:filePath= 
        "#{systemProperties'java.io.tmpdir'}#{systemProperties'file.separator'}somefile.txt"/> 

il problema scompaiono quando si utilizza: []:

<bean id="myBean" 
      class="mypackage.mybean" 
      destroy-method="destroy" 
      p:filePath= 
        "#{systemProperties['java.io.tmpdir']}#{systemProperties['file.separator']}somefile.txt"/> 

Questo ti aiuta a risolvere il tuo problema,

per ulteriori informazioni su questo problema si prega refer a questo problema:

+0

Dal momento che non si è sicuri se questo aiuta OP questo non vuole essere una risposta. L'unico scopo di una risposta è risolvere questo problema esplicito di OP. E c'è già una risposta in aumento. –

+0

Il mio problema è molto simile alla sua risposta in aumento significa una risposta corretta? –

+0

Prima di tutto se il tuo problema è solo * simile * allora questa risposta non è nel posto giusto. Una risposta shell risponde solo esplicitamente a questo problema che l'OP ha menzionato. Una risposta upvoted non è assolutamente la risposta corretta, ma dal momento che non ci sono commenti o che cosa mai sulla risposta ciò implica che OP non è actice sulla sua domanda e questo è il motivo per cui non esiste un segno di risposta * accettato (è solo un'ipotesi). Ma ci si può fidare, soprattutto perché questa è l'unica risposta con upvotes, che questo ha alta qualità e risolve il problema dell'OP. –

1

Se si sta mettendo che nel file XML fagioli primaverili cercare di mettere in questo modo

#{'Hello Spel'}. 
Problemi correlati