为什么我会收到此错误:
java.lang.IndexOutOfBoundsException:索引:4,大小:4
我没有定义任何东西,并且在另一个运行良好的 servlet 上使用了相同的逻辑。在我的另一个 servlet 中,我选择了所有产品,所以我使用了两个数组列表:一个在另一个里面。我在这里尝试过,但仍然有同样的错误。我清楚地理解了这个错误,但我不知道如何用这种语法解决它。
谢谢你。
ConnectionPool pool = ConnectionPool.getInstance();
Connection connection = pool.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
int product_id =Integer.parseInt(req.substring(req.lastIndexOf("/")+1));
ArrayList al = null;
String query = "select * from Product where product_id="+product_id;
try {
ps = connection.prepareStatement(query);
rs = ps.executeQuery(query);
while (rs.next()) {
al = new ArrayList();
al.add(rs.getString("product_id"));
al.add(rs.getString("product_name"));
al.add(rs.getString("product_description"));
al.add(rs.getDouble("product_price"));
}
此 servlet 的下一个 JSP 页面是:
<%!
String product_id="";
String product_name="";
String product_description="";
double product_price = 0;
ArrayList productList=null;
%>
<%
if(request.getAttribute("productList")!=null && request.getAttribute("productList")!="") {
productList = (ArrayList)request.getAttribute("productList");
product_id = productList.get(1).toString();
product_name = productList.get(2).toString();
product_description = productList.get(3).toString();
product_price = (Double) productList.get(4);
}
%>