Tengo un archivo de plantilla de velocidad que tiene los datos de xml. Quiero convertir la cadena en tipo entero.Cómo convertir una cadena en un entero en una plantilla de velocidad?
¿Cómo puedo hacer eso?
Tengo un archivo de plantilla de velocidad que tiene los datos de xml. Quiero convertir la cadena en tipo entero.Cómo convertir una cadena en un entero en una plantilla de velocidad?
¿Cómo puedo hacer eso?
Aha! Estado allí.
#set($intString = "9")
#set($Integer = 0)
$Integer.parseInt($intString)
Haciendo esto utiliza la velocidad subyacente de Java. La variable $ Integer no es más que un objeto Integer de Java que puede usar para acceder a .parseInt
Editar: El código anterior es para demostración. Por supuesto, hay formas de optimizarlo.
Si tiene algún control sobre el contexto de velocidad, aquí hay una alternativa que alivia la necesidad de establecer una variable en la plantilla de Velocity.
Context velocityContext = new Context();
velocityContext.put(Integer.class.getSimpleName(), Integer.class);
Esto le permite llamar a los métodos estáticos de java.lang.Integer
en su plantilla con $Integer.parseInt($value)
y no se basa en la #set haber sido llamado antes de realizar la conversión de tipo en la plantilla.
tiene un archivo XSLT que opera en un documento de entrada XML y desea convertir un campo que sea de tipo xs: string en tipo xs: integer? – vicatcu
sí, tengo el doucument de entrada xml que tiene el valor de cadena y quiero convertirlo a entero – uma
¿por qué no aceptó la respuesta? –