异常信息为
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at com.yourcompany.struts.action.BMainManagerSetAction.execute(BMainManagerSetAction.java:69)
===============================================================
jsp中的文件是
<%@ page language="java" contentType="text/html;charset=gbk"%>
<%@ include file="/taglibs.jsp" %>
<html>
<body>
<html:form action="bMainManagerSet.do" >
<table border=1>
<tr>
<td>总管理员帐户和密码</td>
</tr>
<tr>
<td> 总管理员帐户:</td><td><html:text property="name" size="25" /></td>
</tr>
<tr>
<td> 总管理员密码:</td><td> <html:password property="password" size="25" /></td>
</tr>
<tr>
<td><html:submit value="提交" /></td>
<td><html:reset value="重置" /></td>
</tr>
</table>
</html:form>
</body>
</html>
=============================================================
action 中的文件是
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.yourcompany.struts.action;
import java.util.List;
import hibernate.HibernateSessionFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import testhibernate.TbManager;
import com.yourcompany.struts.form.LoginForm;
/**
* MyEclipse Struts
* Creation date: 03-12-2006
*
* XDoclet definition:
* @struts.action path="/bMainManagerSet" name="loginForm" input="/back/foot/mainset/bMainManagerSet.jsp" scope="request" validate="true"
*/
public class BMainManagerSetAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
String name=loginForm.getName();
String password=loginForm.getPassword();
Session session=HibernateSessionFactory.getSession();
HttpSession httpSession=request.getSession();
Transaction tx=null;
TbManager manager=null;
try
{
tx=session.beginTransaction();
Query query=session.createQuery("from TbManager t where t.name=:mname");
query.setString("mname", name);
List list=query.list();
tx.commit();
if(list==null)
return mapping.findForward("bMainManagerSetError");
else
{
manager=(TbManager)list.get(0);
if(manager.getPassword().equals(password)&&manager.getMark().equals("总管理员"))
return mapping.findForward("bMainManagerSetResult");
else
return mapping.findForward("bMainManagerSetError");
}
}
catch(Exception ex)
{
ex.printStackTrace();
return null;
}
finally
{
session.close();
转载自 - 我的异常网
}
}
}
------解决方案--------------------------------------------------------
manager=(TbManager)list.get(0);
这句出错,如果列表为0,你还要去去第0个元素,就会抛出这个异常