基本上我有這個功能,允許人們根據用戶名搜索其他用戶。您鍵入的文本ID =「搜索」,它會尋找用戶與該用戶名/相似的用戶名:Servlet jsp空指針異常
<form name="searchForm" action="searchUser" method="post">
<input type="text" id="search" name="search" placeholder="Search.." />
<input type="submit" id="searchButton" name="searchButton" value="Search!" onclick="searchUsers()"/>
</form>
這是servlet SearchUserServlet映射到行動searchUser.The靜態方法searchUser(String)返回用戶對象的數組列表。我想此ArrayList傳遞給QuickMatchResult.jsp:
public class SearchUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response){
try {
String name=request.getParameter("search");
ArrayList<User> userList= User.searchUser(name);
RequestDispatcher dispatcher=request.getRequestDispatcher("/QuickMatchResult.jsp");
request.getSession().setAttribute("userList",userList);
dispatcher.forward(request, response);
} catch (ServletException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
這是它被轉發了QuickMatchResult.jsp。我試圖顯示列表中的用戶對象的所有用戶名:
<table id="searchResults">
<% ArrayList<User> userList= new ArrayList<User>();
userList=(ArrayList<User>)request.getAttribute("userList");
for (int i=0; i<userList.size();i++){
User user=userList.get(i);
%>
<tr>
<td><%=user.getUserName()%></td>
</tr>
<%
}
%>
</table>
但是,當我嘗試運行這個,我得到一個空指針異常。任何想法爲什麼?
檢查,如果用戶列表從請求空 – Makky
從會話,而不是要求閱讀用戶列表中JSP作爲你 – Vasu