我想從servlet傳遞值到JSP文件。我已經確認數據是從JSP到Servlet的,但不是相反。這裏是Java片段JSP從Java servlet獲取空值
//Here is where I get a List<String> of the column names
List<String> columns = DataAccess.getColumns(query);
//Turn the List<String> into a 1D array of Strings
for(int i = 0 ; i < numArrays ; i++)
request.setAttribute("rows["+i+"]", rows[i]);
//Set the attribute to the key "columns"
request.setAttribute("columns", arColumns);
//Launch result.jsp
request.getRequestDispatcher("result.jsp").forward(request, response);
在那裏我期待有一串字符串鏈接到鍵「列」。當我從JSP文件中得到它時,我得到了null
。這是我如何找回它,並確認它爲空:
<% String[] columns = (String[])request.getParameterValues("columns");
if(columns == null){
System.out.print("columns is null\n");
}
int colNum = columns.length; //How many columns we have
%>
在Eclipse,當我運行代碼,我得到的字符串「欄爲空」 ONT他安慰,其次是一個NullPointerException當我試圖讓列的長度。
我確認arColumns在java文件中不爲null,當我嘗試將它們打印到控制檯時,它會打印列標題。
我在這裏做錯了什麼?
謝謝你的幫助。
使用「request.getAttribute」而不是 – BretC