如何在速度模板中将字符串转换为整数?

uma*_*uma 39 velocity

我有一个速度模板文件,其中包含来自xml的数据.我想将字符串转换为整数类型.

我怎样才能做到这一点?

Quo*_*ian 81

啊哈!到过那里.

#set($intString = "9")
#set($Integer = 0)
$Integer.parseInt($intString)
Run Code Online (Sandbox Code Playgroud)

这样做使用java底层速度.$ Integer变量只不过是一个java Integer对象,您可以使用它来访问.parseInt

编辑:以上代码用于演示.当然,有一些方法可以优化它.


ATG*_*ATG 9

如果您对速度上下文有一定的控制权,那么这里有一个替代方案可以减少在Velocity模板中设置变量的需要.

Context velocityContext = new Context();
velocityContext.put(Integer.class.getSimpleName(), Integer.class);
Run Code Online (Sandbox Code Playgroud)

这允许您java.lang.Integer使用模板中的静态方法,$Integer.parseInt($value)而不依赖于在模板中执行类型转换之前调用的#set.