OVH Cloud OVH Cloud

[JSTL] Long au lieu de Integer

1 réponse
Avatar
p0psy
Bonjour,

J'ai une JSP utilisant des tags JSTL.
Je récupère un paramètre, et dans le cas où il existe je veux vérifier
si c'est un nombre:
<c:catch var="jStatusException">
<c:if test="${not empty param.jobStatus}">
<fmt:parseNumber var="jStatus" integerOnly="true"
value="${param.jobStatus}" />
</c:if>
</c:catch>

Comme certaines parties des objets derrière ne s'y prêtent pas trop, je
suis obligé de mettre un peu de code java dans ma page.
Je récupère donc ma variable jStatus dans le code java:
pageContext.getAttribute("jStatus")

Hors, l'objet qui m'est retourné est un Long alors que je m'attendais à
un Integer.
La valeur du paramètre vaut entre 1 et 20, donc un Long ça fait un peu
beaucoup, mais admettons.
Mon problème est que j'ai 3 variables commes celles-ci, et quand je les
cast en Integer:
(Integer) pageContext.getAttribute("jStatus")
je n'ai aucun soucis, sauf pour une, qui veut un Long.

Alors ma question est: pourquoi? ;-)
Comment se fait-il que dans un cas j'ai un Integer, et dans un autre
j'ai un Long, alors que le code est absolument identique?
Aurais-je loupé un truc?
Merci.

Laurent.

1 réponse

Avatar
p0psy
Alors ma question est: pourquoi? ;-)
Comment se fait-il que dans un cas j'ai un Integer, et dans un autre
j'ai un Long, alors que le code est absolument identique?
Aurais-je loupé un truc?
Merci.

Laurent.
Autant pour moi, c'est toujours des Long.

Une faute de frappe dans un de mes tags m'a fait croire le contraire.
Désolé pour le dérangement ;-).

Laurent.