2014-05-24 4 views
-2

JSP 페이지 코드 :매개 변수

는 서블릿에서 지금
<tr> 
    <td><a href="#">Surname Name Patr</a></td> 
    <td> KV-01 </td> 
    <td> 4 </td> 
    <td> Computer eng. </td> 
    <td> 
     <form name="changeStudent" method="POST" action="controller"> 
      <input type="hidden" name="command" value="openChangeStudentPage"/> 
      <imput type="hidden" name="studentId" value="2"/> 
      <input type="submit" value="Change"/> 
     </form> 
    </td> 
</tr> 

내가 코드에 따라 "studentId"필드를 얻을 수 및 추가하려고 : 브라우저에서 생성

<c:forEach items="${studentInfoList}" var="studentInfo"> 
    <tr> 
     <td><a href="#">${studentInfo.student.surname} ${studentInfo.student.name} ${studentInfo.student.patronymic}</a></td> 
     <td> ${studentInfo.group.name} </td> 
     <td> ${studentInfo.semester.getYear()} </td> 
     <td> ${studentInfo.speciality.title} </td> 
     <td> 
      <form name="changeStudent" method="POST" action="controller"> 
       <input type="hidden" name="command" value="openChangeStudentPage"/> 
       <imput type="hidden" name="studentId" value="${studentInfo.student.id}"/> 
       <input type="submit" value="Change"/> 
      </form> 
     </td> 
    </tr> 
</c:forEach> 

코드 학생이 필드를 요청할 수 :

int studentId = Integer.parseInt(request.getParameter("studentId")); 
Student student = DAOFactory.getInstance().getStudentDAO().findStudentById(studentId); 
request.setAttribute("student", student); 

그러나 라인 int studentId = Integer.parseInt(...)

가 발생 오류 :

java.lang.NumberFormatException: null 
java.lang.Integer.parseInt(Integer.java:454) 
java.lang.Integer.parseInt(Integer.java:527) 
ua.kpi.fpm.portal.command.administrator.OpenChangeStudentPageCommand.execute(OpenChangeStudentPageCommand.java:26) 
ua.kpi.fpm.portal.controller.Controller.processRequest(Controller.java:53) 
ua.kpi.fpm.portal.controller.Controller.doPost(Controller.java:85) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:644) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) 

이 오류가 발생하는 이유와 form의 studentId가 null 일 수있는 이유를 찾을 수 없습니다.

답변

3

<input type="hidden" name="studentId" value="${studentInfo.student.id}"/> 

대신

<imput type="hidden" name="studentId" value="${studentInfo.student.id}"/> 

유효하지 않습니다 imput 태그에서 봐해야합니다.

+0

아 ... 아하하, 어제 1 시간 어제 이것을 낭비했습니다. – saresh