J'ai un fichier de modèle de vélocité qui contient les données de xml. Je veux convertir la chaîne en type entier.Comment convertir une chaîne en entier dans un modèle de vitesse?
Comment puis-je faire cela?
J'ai un fichier de modèle de vélocité qui contient les données de xml. Je veux convertir la chaîne en type entier.Comment convertir une chaîne en entier dans un modèle de vitesse?
Comment puis-je faire cela?
Aha! Été là.
#set($intString = "9")
#set($Integer = 0)
$Integer.parseInt($intString)
Ceci utilise la vélocité java sous-jacente. La variable $ Integer est rien de plus qu'un objet Integer java que vous pouvez ensuite utiliser pour accéder .parseInt
Edit: Le code ci-dessus est pour la démonstration. Bien sûr, il existe des moyens de l'optimiser.
Si vous avez un certain contrôle sur le contexte de vitesse, voici une alternative qui évite d'avoir à définir une variable dans le modèle Velocity.
Context velocityContext = new Context();
velocityContext.put(Integer.class.getSimpleName(), Integer.class);
Cela vous permet d'appeler les méthodes statiques de java.lang.Integer
dans votre modèle à l'aide $Integer.parseInt($value)
et ne se fondent pas sur la #set ayant été appelé avant d'effectuer la conversion de type dans le modèle.
vous avez un fichier XSLT qui fonctionne sur un document d'entrée XML et que vous voulez convertir un champ de type xs: string en type xs: integer? – vicatcu
oui j'ai le doucument d'entrée xml qui a la valeur de chaîne et je veux convertir en entier – uma
pourquoi n'avez-vous pas accepté la réponse? –