Je travaille sur une page JSP, mais je cours dans un pointeur nul au moment de l'exécution. Dans une tentative d'isoler le problème, j'ai codé en dur la réponse de la variable attendue au lieu d'utiliser un getter (il était précédemment action.getName(psi.getLong()))
). Effectivement, j'ai eu une erreur quand j'ai essayé de courir la page avec le long cru.Pourquoi mes longs deviendront-ils des ints?
An error occurred at line: 70 in the jsp file: /auth/foo/viewBar.jsp
The literal 9000000000 of type int is out of range
70: <%long sarah = 9000000000; %>
71: <td> <%= StringEscapeUtils.escapeHtml(""+action.getName(sarah)) %></td>
getName est défini ailleurs comme suit
public String getName(long mid) throws DBException {
try {
return personnelDAO.getName(mid);
} catch (fooException e) {
e.printStackTrace();
return "exception retrieving name";
}
Mais à en juger par ce qui précède, je suppose que le 9.000.000.000 est même pas se passé jusque-là. Est-ce que .JSP ne peut pas gérer les longs?
En outre, cette erreur peut-elle avoir causé l'erreur nullpointer que je rencontrais lors de l'exécution, ou est-ce une erreur complètement distincte? (C'est tout ce que le stacktrack dit: NullPointerException: null
)
Editer: D'oh. En utilisant une usine, j'ai oublié d'instancier l'un des DAO que j'utilise. Ce serait la cause du NullPointer alors. Affaire classée.
Essayez suff ixing votre long numéro avec L comme 'long number = 900L;' – asgs
pouvez-vous poster NPE stacktrace? –
@Jigar - Je l'ai déjà réparé. Il me dit cependant que j'ai besoin de caféine ou de sommeil; de préférence ce dernier. –