netbeans中JSP与javabean传递数组的问题,跪求高手!

这是javabean中的内容
package first;
import java.sql.*public class Shop1 {
Connection con; Statement stmt;
ResultSet rs;
String pname[]
public String[] getPname() {
return pname;
}
public void lineup() { try {
Class.forName("com.mysql.jbbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "12345");
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("select*from goods");
rs.last();
int x = rs.getRow();
pname = new String[x];
} catch (Exception e) {
}
} //是连接数据库和进行数组的创建
public void result() {
try {
for (int i = 1; rs.isLast() != false; i++) {
pname[i] = rs.getString(1);
rs.next(); //将每一行的第一列都赋给pname.这里本来还有其他属性的,先简化了
}
} catch (Exception e) {
}
} }

JSP中:
<%@page contentType="text/html" pageEncoding="UTF-8"%><%@page import="first.Shop1" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body> <jsp:useBean id="shop" class="first.Shop1" scope="page"/>
<%
shop.lineup();
shop.result();
String pname[] = shop.getPname(); 把javabean中的pname[]赋给jsp中pname[]数组
%>

<h4>欢迎来到miumiu新奇工艺小店 <center> <form>
<table border="0">
<thead>
<tr>
<th>商品名称<%=pname[1]%></th> //编译通过了 但是在浏览器页面出现错误,说是空指针,为什么呀?
</tr>
</html>
真的很苦恼我这个问题,如果有高手知道,麻烦告诉我一下吧!非常感谢!

} catch (Exception e) {
}

仅捕捉异常,没进行任何处理,即使有错误发生,自己也不知道发生什么事情。作为测试,不要捕捉,在方法上抛出,更简单

String pname[] 并没有初始化。前面应该有报错,只是被捕捉了异常,不知道而已。

for (int i = 1; rs.isLast() != false; i++) {
pname[i-1] = rs.getString(1);

另外如果数组只有一个元素呢,也会出数组的下标超了的错
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜