應該是紅色欄位的問題,但就不知道怎么改。myeclipse運行到這里就運行不了。
部分報錯如下:
HTTP Status 500 - java.lang.NumberFormatException: For input string: ""
type Exception report
message java.lang.NumberFormatException: For input string: ""
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.NumberFormatException: For input string: ""
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
root cause
java.lang.NumberFormatException: For input string: ""
java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
java.base/java.lang.Integer.parseInt(Integer.java:662)
java.base/java.lang.Integer.parseInt(Integer.java:770)
com.action.timuAction.ziciDafen(timuAction.java:94)(感覺問題在這里)
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62
代碼如下:(下劃線是第94行)
public String ziciDafen()
{
HttpServletRequest request=ServletActionContext.getRequest();
int fenshu=0;
String timuIdList=request.getParameter("timuIdList");
String[] timuIdList1=timuIdList.split(",");
for(int i=0;i<timuIdList1.length;i++)
{
String timuId=timuIdList1;
String timuDaan_user=request.getParameter(timuId);
[i]String timuDaan=timuDAO.findById(Integer.parseInt(timuId)).getDaan();
if(timuDaan.equalsIgnoreCase(timuDaan_user))
{
fenshu+=timuDAO.findById(Integer.parseInt(timuId)).getFenshu();
}
}
this.setMessage("特殊字符"+fenshu);
this.setPath("index.action");
return "succeed";
}
uj5u.com熱心網友回復:
String timuId=timuIdList1;//這里沒報錯嗎?左邊是字串,右邊是陣列,猜測應該是String timuId=timuIdList1[i];最簡單的方法,判斷如果不是數字型別就continue
for(int i=0;i<timuIdList1.length;i++)
{
String timuId=timuIdList1[i];
if (! timeuId.matches("^\\d+$")) continue; // 如果不是數字型別,就進入下一次回圈
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/134475.html
標籤:Java EE
上一篇:求大佬指點一哈 java13.0.2安裝不出jre檔案夾
下一篇:有個小問題,想問問大佬們如何解決
