Je reçois cette exception désagréable, le problème est que je ne peux pas contrôler la chaîne get, car il est fait par une application tierce. Apparemment, le nombre est trop long pour être analysé comme int ...Nasty java.lang.NumberFormatException dans struts2 ognl
java.lang.NumberFormatException: For input string: "1286579871769"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:461)
at java.lang.Integer.valueOf(Integer.java:528)
at ognl.OgnlParserTokenManager.makeInt(OgnlParserTokenManager.java:63)
at ognl.OgnlParserTokenManager.TokenLexicalActions(OgnlParserTokenManager.java:1624)
at ognl.OgnlParserTokenManager.getNextToken(OgnlParserTokenManager.java:1498)
at ognl.OgnlParser.jj_ntk(OgnlParser.java:3099)
at ognl.OgnlParser.unaryExpression(OgnlParser.java:1079)
at ognl.OgnlParser.multiplicativeExpression(OgnlParser.java:971)
at ognl.OgnlParser.additiveExpression(OgnlParser.java:894)
at ognl.OgnlParser.shiftExpression(OgnlParser.java:750)
at ognl.OgnlParser.relationalExpression(OgnlParser.java:508)
at ognl.OgnlParser.equalityExpression(OgnlParser.java:405)
at ognl.OgnlParser.andExpression(OgnlParser.java:352)
at ognl.OgnlParser.exclusiveOrExpression(OgnlParser.java:299)
at ognl.OgnlParser.inclusiveOrExpression(OgnlParser.java:246)
at ognl.OgnlParser.logicalAndExpression(OgnlParser.java:193)
struts2 Snippet:
<package name="ajax" namespace="/ajax" extends="default">
<default-interceptor-ref name="ajaxStack"/>
<action name="**">
<result>/WEB-INF/ajax/{1}.jsp</result>
</action>
</package>
et l'intercepteur:
<interceptor-stack name="ajaxStack">
<interceptor-ref name="checkSession" />
<interceptor-ref name="checkAjax" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
checkAjax
fait juste que l'utilisateur est connecté et checkSession
stocke un paramètre de session dans un threadlocal
.
Quelle est exactement votre question? Quel code est en cours d'exécution pour produire ceci? C'est définitivement trop grand pour un 'int'. –
D'où vient le 1286579871769? –
c'est une application qui génère des graphiques instantanés, pour chaque http, elle ajoute automatiquement l'horodatage, donc je ne peux pas simplement l'enlever. C'est essentiellement un bug dans les entretoises – Ricardo