今天突然遇到这个问题。String index out of range: -2不知道为什么?请高手指点迷津。
java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.lang.String.substring(String.java:1444)
at jsp_servlet._fams.__tb_assetscard_car_doadd._jspService(__tb_assetscard_car_doadd.java:203)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7047)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.lang.String.substring(String.java:1444)
at jsp_servlet._fams.__tb_assetscard_car_doadd._jspService(__tb_assetscard_car_doadd.java:203)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7047)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
<%@ page import="com.iyongxin.adapter.*,com.iyongxin.model.*,com.iyongxin.javabean.*"%>
<jsp:include page="../public.jsp" flush="true" />
<jsp:directive.page import="com.jspsmart.upload.SmartFile"/>
<jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<html>
<head>
<title>
doadd
</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%Tb_assetscard v = new Tb_assetscard();//v = RoleAdapter.getInstance().generateModel(request,v);
String dotype=null;
//out.print(dotype);String msg ="参数错误!";
try{
myUpload.initialize(pageContext);
myUpload.setAllowedFilesList("jpeg,jpg,gif,bmp,txt,doc");
myUpload.setMaxFileSize(1000000);
myUpload.upload();
//out.print(myUpload.getFiles().getCount());
String visualName="",fileName="";//上传附件
String filePath="/upload/card/";
for (int j=0;j<myUpload.getFiles().getCount();j++){
String fileType=myUpload.getFiles().getFile(j).getFieldName();
//String myRandom=FormatStr.getRandom();
SmartFile myFile = myUpload.getFiles().getFile(j);
if (!myFile.isMissing()) {
fileName= myUpload.getRequest().getParameter("Serialnum")+"."+myFile.getFileExt();
visualName = myFile.getFileName();
//out.print(fileName+" || "+visualName+" || "+fileType+"<br>");
myFile.saveAs(filePath + fileName);
v.setPicname("upload/card/" + fileName);//保存照片路径
}
else
{
v.setPicname(myUpload.getRequest().getParameter("Picnamereal"));//保存照片路径
}
}
dotype=myUpload.getRequest().getParameter("dotype");//操作类型.
if(dotype==null)dotype="add";
v.setAssetstype("车辆类");
v.setAssetsamount(1);//资产数量
v.setAssetsmeasure(myUpload.getRequest().getParameter("Assetsmeasure"));
//解析分类代码[分类代码]分类名称=>分类代码
String s_Assetssortcode=myUpload.getRequest().getParameter("Assetssortcode").toString();
s_Assetssortcode=s_Assetssortcode.substring(1,s_Assetssortcode.indexOf("]"));
v.setAssetssortcode(s_Assetssortcode);
v.setAssetsadmindeptid(myUpload.getRequest().getParameter("Assetsadmindeptid"));
v.setCarvinno(myUpload.getRequest().getParameter("Carvinno"));
v.setCarenginno(myUpload.getRequest().getParameter("Carenginno"));
v.setAssetsname(myUpload.getRequest().getParameter("Assetsname"));
v.setAssetsstandard(myUpload.getRequest().getParameter("Assetsstandard"));
try{v.setAssetsusedate(BaseBean.getTime(myUpload.getRequest().getParameter("Assetsusedate")));}catch(Exception e){}
v.setAssetsdept(myUpload.getRequest().getParameter("Assetsdept"));
v.setGetmode(myUpload.getRequest().getParameter("Getmode"));
v.setUsestate(myUpload.getRequest().getParameter("Usestate"));
v.setAssetsuser(myUpload.getRequest().getParameter("Assetsuser"));
v.setAssetswriter(myUpload.getRequest().getParameter("Assetswriter"));
v.setAssetsprodarea(myUpload.getRequest().getParameter("Assetsprodarea"));
v.setYearcount(BaseBean.getInt(myUpload.getRequest().getParameter("Yearcount")));
v.setVehicleno(myUpload.getRequest().getParameter("Vehicleno"));
v.setLongmiles(BaseBean.getFloat(myUpload.getRequest().getParameter("Longmiles")));
v.setAssetsmanager(myUpload.getRequest().getParameter("Assetsmanager"));
//v.setAssetsprice(BaseBean.getFloat(myUpload.getRequest().getParameter("Assetsprice")));
v.setAssetsprice(BaseBean.getDouble(myUpload.getRequest().getParameter("Assetsprice")));
try{v.setAssetsdispdate(BaseBean.getTime(myUpload.getRequest().getParameter("Assetsdispdate")));}catch(Exception e){}
v.setDpreciationadd(BaseBean.getFloat(myUpload.getRequest().getParameter("Dpreciationadd")));
v.setLeftprice(BaseBean.getFloat(myUpload.getRequest().getParameter("Leftprice")));
v.setAssetsfactoryno(myUpload.getRequest().getParameter("Assetsfactoryno"));
v.setRes(myUpload.getRequest().getParameter("Res"));
v.setVehexh(BaseBean.getFloat(myUpload.getRequest().getParameter("Vehexh")));
//v.setAssetsadmindept(myUpload.getRequest().getParameter("Assetsadmindept"));
String tempadmindept=DepartmentManager.getInstance().getByKey(myUpload.getRequest().getParameter("Assetsadmindeptid")).getDepname();
v.setAssetsadmindept(tempadmindept);
v.setVehpurpose(myUpload.getRequest().getParameter("Vehpurpose"));
v.setAssetsorg(myUpload.getRequest().getParameter("Assetsorg"));
try{v.setAssetsenddate(BaseBean.getTime(myUpload.getRequest().getParameter("Assetsenddate")));}catch(Exception e){}
//v.setDpreciationtype(myUpload.getRequest().getParameter("Dpreciationtype"));
v.setDisposalmode(myUpload.getRequest().getParameter("Disposalmode"));
v.setAssetsuwtype(myUpload.getRequest().getParameter("Assetsuwtype"));
try{v.setUseingdate(BaseBean.getTime(myUpload.getRequest().getParameter("Useingdate")));}catch(Exception e){}
v.setAssetsnum(myUpload.getRequest().getParameter("Assetsnum"));
if(v!=null){
if("add".equals(dotype)){
String depid = session.getAttribute("depid").toString();//登录用户部门编号
String useinitials=myUpload.getRequest().getParameter("Assetssortcode");
v.setSerialnum(Tb_assetscardManager.getInstance().getMaxId(depid));
v.setSerialcode(Tb_assetscardManager.getInstance().getSerialcode_assetssort(depid,useinitials));
if(Tb_assetscardAdapter.getInstance().add(v,request)>0)
msg="添加成功.";
else
msg="添加失败.";
}
if("modify".equals(dotype)){
v.setSerialnum(myUpload.getRequest().getParameter("Serialnum"));
v.setSerialcode(myUpload.getRequest().getParameter("Serialcode"));
if(Tb_assetscardAdapter.getInstance().update(v,request)>0)
msg="修改成功.";
else
msg="修改失败.";
}
if("view".equals(dotype)){
v.setSerialnum(myUpload.getRequest().getParameter("Serialnum"));
v.setSerialcode(myUpload.getRequest().getParameter("Serialcode"));
if(Tb_assetscardAdapter.getInstance().update1(v,request)>0)
msg="修改成功.";
else
msg="修改失败.";
}
}
}catch(Exception e ){
e.printStackTrace();
}
%>
<table width="624" borderColor=#d7dfe7 cellSpacing=0
borderColorDark=#ffffff cellPadding=2
align=center border=1 style="font-size: 12pt; color: #000000">
<tr>
<td align="center"><%=msg%>
</td>
</tr>
<tr>
<td align="center">
<a href="#" onclick="history.back(-1)">返回</a>
<a href="Tb_assetscard_car_list.jsp">完成</a>
</td>
</tr>
</table>
</body>
</html>