我得到這個討厭的異常,問題是我無法控制得到的字符串,因爲它是由第三方應用程序完成的。顯然,號碼太長被解析爲INT ...在struts2骯髒的java.lang.NumberFormatException 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的片段:
<package name="ajax" namespace="/ajax" extends="default">
<default-interceptor-ref name="ajaxStack"/>
<action name="**">
<result>/WEB-INF/ajax/{1}.jsp</result>
</action>
</package>
和攔截:
<interceptor-stack name="ajaxStack">
<interceptor-ref name="checkSession" />
<interceptor-ref name="checkAjax" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
checkAjax
只是確保用戶登錄in和checkSession
將會話參數存儲在threadlocal
中。
究竟什麼是你的問題?運行什麼代碼來產生這個? 'int'確實太大了。 – 2010-10-09 06:40:46
1286579871769從哪裏來? – 2010-10-09 06:46:10
它是一個生成閃存圖的應用程序,每個http都會自動添加時間戳,所以我不能刪除它。它基本上是一個bug struts – Ricardo 2010-10-09 06:47:21