【发布时间】:2015-07-13 11:10:13
【问题描述】:
我有 2 个 JSP 页面链接在一起。其中之一是具有多个复选框的表单,单击复选框,值将发送到 Proto1.jsp,其中值被转换为介绍字符串并启动 SQL 命令。但是,如果没有选中复选框并提交表单,Proto1 jsp 页面会给我一个空指针异常。无论如何,如果没有选中任何复选框,我可以将用户重定向回复选框页面吗?
这是我拥有的 proto_1.jsp 的代码,我在这里尝试了一堆答案,但我仍然不断收到空指针异常。
portfolio = request.getParameterValues("portfolio");
String[] portfolio = null;
if(null == request.getParameter("submit")) {
portfolio = (String[])session.getAttribute("portfolio");
} else {
portfolio = request.getParameterValues("portfolio");
session.setAttribute("portfolio", portfolio);
}
try{
OracleDataSource ds= new OracleDataSource();
//javax.sql.DataSource ds = new javax.sql.DataSource();
ds.setDriverType("thin");
ds.setServerName("localhost");
ds.setPortNumber(1521);
ds.setDatabaseName("orcl");
ds.setUser("system");
ds.setPassword("amex1234");
Connection connection = ds.getConnection();
//System.out.println("Connected Successfully");
Statement statement1 = connection.createStatement() ;
Statement statement2 = connection.createStatement() ;
Statement statement3 = connection.createStatement() ;
if (portfolio!=null)
{
for(int i=0;i<portfolio.length;i++)
{
pretestList.add(new ArrayList());
stgtestList.add(new ArrayList());
mirrorList.add(new ArrayList());
}
// System.out.println(pretestList);
//System.out.println(stgtestList);
//System.out.println(mirrorList);
for(int j=0; j<portfolio.length;j++)
{ String pretemp="";
String stgtemp="";
String mirrortemp="";
ResultSet resultsetpre = statement1.executeQuery("select ID FROM "+portfolio[j]+"_Pre") ; //Put in SQl command and Table name here
ResultSet resultsetstg = statement2.executeQuery("select ID FROM "+portfolio[j]+"_Stg") ;
ResultSet resultsetmirror = statement3.executeQuery("select ID FROM "+portfolio[j]+"_Mirror") ;
//System.out.println("pretemp "+resultsetpre.getString(1));
//System.out.println("stgtemp"+resultsetstg.getString(1));
//System.out.println("mirrortemp"+resultsetmirror.getString(1));
while(resultsetpre.next())
{
pretemp = resultsetpre.getString(1);
pretestList.get(j).add(pretemp);
}
while(resultsetstg.next())
{
stgtemp = resultsetstg.getString(1);
stgtestList.get(j).add(stgtemp);
}
while(resultsetmirror.next()){
mirrortemp= resultsetmirror.getString(1);
mirrorList.get(j).add(mirrortemp);
}
//System.out.println("pretest list"+pretestList);
//System.out.println("stgtestlist"+stgtestList);
//System.out.println("mirrorlist"+mirrorList);
}
}
} catch(SQLException e) {
e.printStackTrace();
}
%>
【问题讨论】: