我有2個JSP頁面鏈接在一起。其中之一是具有多個複選框的表單,您單擊該複選框,將值發送到Proto1.jsp,其中的值不會轉換爲介紹字符串,並會啓動SQL命令。但是,如果未選中複選框並提交表單,Proto1 jsp頁面會爲我提供空指針異常。無論如何,如果沒有選中任何複選框我可以將用戶重定向回覆選框頁面?重定向/轉發我的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();
}
%>
所以我在我的proto1 jsp頁面中實現了這一點代碼吧?我用我的代碼更新了這個問題,你能告訴我我應該在哪裏實現它嗎?我嘗試了一堆地方,但我仍然得到相同的空指針異常 – user3481478
哪一個是您的複選框/什麼是您的複選框名稱 – Raghavendra
在頂部本身檢查是否(request.getParameter(「portfolio」)== null)/ /使用sendRedirect方法 response.sendRedirect(「Proto1.jsp」) – Raghavendra