How to use a variable in MVEL Template

170 Views Asked by At

I'm trying to initialize a variable in a template that is rendered with MVEL and I'm getting this error. Does anyone know what might be happening?

<html>
<body>
<h3>MVEL Template:</h3><br>
@code{age = 23; name = 'John Doe'}
<br>
</body>
</html>
ERROR [HttpServerVerticle-1] RoutingContext - Unhandled exception in router
org.mvel2.ScriptRuntimeException: cannot assign variables; no variable resolver factory available.
    at org.mvel2.integration.impl.ImmutableDefaultFactory.throwError(ImmutableDefaultFactory.java:32)
    at org.mvel2.integration.impl.ImmutableDefaultFactory.createVariable(ImmutableDefaultFactory.java:36)
    at org.mvel2.integration.impl.StackResetResolverFactory.createVariable(StackResetResolverFactory.java:20)
    at org.mvel2.ast.AssignmentNode.getReducedValueAccelerated(AssignmentNode.java:116)
    at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
    at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
    at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
    at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
    at org.mvel2.MVEL.executeExpression(MVEL.java:929)
    at org.mvel2.templates.res.CompiledCodeNode.eval(CompiledCodeNode.java:50)
    at org.mvel2.templates.res.TextNode.eval(TextNode.java:42)
    at org.mvel2.templates.res.CompiledCodeNode.eval(CompiledCodeNode.java:51)
    at org.mvel2.templates.res.TextNode.eval(TextNode.java:42)
    at org.mvel2.templates.res.CompiledExpressionNode.eval(CompiledExpressionNode.java:46)
    at org.mvel2.templates.res.TextNode.eval(TextNode.java:42)
    at org.mvel2.templates.res.TerminalNode.eval(TerminalNode.java:35)
    at org.mvel2.templates.res.CompiledForEachNode.eval(CompiledForEachNode.java:128)
    at org.mvel2.templates.res.TextNode.eval(TextNode.java:42)
    at org.mvel2.templates.res.CompiledExpressionNode.eval(CompiledExpressionNode.java:46)
    at org.mvel2.templates.res.TextNode.eval(TextNode.java:42)
    at org.mvel2.templates.res.TextNode.eval(TextNode.java:42)
    at org.mvel2.templates.TemplateRuntime.execute(TemplateRuntime.java:285)
    at org.mvel2.templates.TemplateRuntime.execute(TemplateRuntime.java:281)
    at io.vertx.ext.web.templ.mvel.impl.MVELTemplateEngineImpl.render(MVELTemplateEngineImpl.java:84)
    at io.vertx.ext.web.common.template.TemplateEngine.render(TemplateEngine.java:52)
    at io.vertx.ext.web.handler.impl.TemplateHandlerImpl.handle(TemplateHandlerImpl.java:75)
    at io.vertx.ext.web.handler.impl.TemplateHandlerImpl.handle(TemplateHandlerImpl.java:32)
    at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
    at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:140)
    at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:141)
    at httpServer.HttpServerVerticle.lambda$1(HttpServerVerticle.java:39)
    at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
    at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:177)
    at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:141)
    at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:68)
    at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:37)
    ...

MVEL doc page http://mvel.documentnode.com/#a-simple-template

0

There are 0 best solutions below