2012-10-11 5 views
2

저는 java의 초보자입니다.세션 속성에 액세스 할 수 없습니다.

서블릿에서 세션에 대한 속성을 설정하고 두 개의 다른 JSP로 액세스하려고합니다. 하지만 두 번째 JSP에 대한 널 포인터 예외가 나타납니다.

내 서블릿 :

HttpSession session = request.getSession(true); 

    if (null == session.getAttribute("username")) { 
     response.sendRedirect("login.jsp"); 
    } else { 
     EdsStudentForm eds = (EdsStudentForm) form; 
     try { 
      List<UserApplication> userList = uaDAO.searchUser(eds); 
      if (!userList.isEmpty()) { 
       request.getSession().setAttribute("userList", userList); 
       action_forward = SRCHSUCCESS; 
      } else { 
       action_forward = SRCHFAILURE; 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

JPS I : sTbl.jsp 내 첫번째 JSP 나는

 <html:form method="post"> 
     <table border="1" width="400" align="center" class ="sample"> 

      <tr> 
       <td class ="divheader">Student Code</td> 
       <td class ="divheader">First Name</td> 
       <td class ="divheader">Last Name</td> 
      </tr> 
      <c:set var ="sStudt" value="${userList}" scope="session" /> 
       <c:forEach items="${userList}" var ="uList"> 
        <tr> 
         <td class ="divheader"><a href="searchSuccess.jsp?"><c:out value="${uList.studentCode}"></c:out></a></td> 
         <td class="divheader"><c:out value="${uList.firstName}"></c:out></td> 
         <td class ="divheader"><c:out value="${uList.lastName}"></c:out></td> 
         </tr> 
       </c:forEach> 
     </html:form> 

내 2 JSP 사용하여 아무런 문제가 없다 : searchSuccess.jsp

<html:form method="post"> 
     <p class ="sample">Personal Information</p> 
     <table class ="table1"> 

      <c:if test="${not empty sStudt}"> 
       <c:forEach var="sList" items="${sessionScope.sStudt}"> 
      <tr> 
       <td>Student Code:</td> 
       <td><c:out value="${sList.studentCode}"/><td> 
      </tr> 
      <tr> 
       <td>Title:</td> 
       <td><c:out value="${sList.title}"/></td> 
       <td>First Name:</td> 
       <td><c:out value="${sList.firstName}"/></td> 
       <td>Last Name:</td> 
       <td><c:out value="${sList.lastName}"/></td> 
      </tr> 
      <tr> 
       <td>Street Number:</td> 
       <td><c:out value="${sList.streetNumber}"/></td> 
       <td>Street Name:</td> 
       <td><c:out value="${sList.streetName}"/></td> 
       <td>#Suite/Apt.:</td> 
       <td><c:out value="${sList.suite}"/></td> 
      </tr> 
      etc..etc... 

java.lang.NullPointerException이 발생합니다.

내가 뭘 잘못하고 있는지 말해 줄래? 사전에

감사합니다. 조건이 변수가

<c:if test="${not empty sessionScope.sStudt}"> 

다음과 같이 세션에서 사용할 수 있는지 확인할 수 있다면 그 어떤에서 당신은 NPE를 선에서 문제

+0

을 분류해야한다 같아요 – alfasin

+0

"sList"와 "sStudt"라는 정의되지 않은 속성을 사용하기 때문입니다. –

답변

0

은 C를 변경해보십시오? `sList`는 어디에 정의되어 있습니까?
+0

감사합니다. 내 문제를 해결했습니다. – user1683982

관련 문제