我试图从JSP传递到servlet的变量是masession.idemp,它已从会话范围中恢复。
将其传递给servlet" / creerticket"通过:
<input type="hidden" name="idemp" value="${masession.idemp}">
这是&#34;优先级&#34;要传递给servlet的属性:
<span class="info">Priorité:</span><br>
<input type="radio" name="priorite" value="1">Faible<br>
<input type="radio" name="priorite" value="2">Moyenne<br>
<input type="radio" name="priorite" value="3">Haute<br>
<span class="erreur">${erreurs['priorite']}</span>
这是servlet中的两个方法
CreationTicketForm creationticket = new CreationTicketForm(ticketDao);
Ticket ticket = creationticket.soumettreTicket(request);
错误不断来自方法soumettreTicket(request);
看看:
/*error -->*/int idemp = Integer.parseInt(request.getParameter("idemp"));
/*error -->*/int priorite = Integer.parseInt(request.getParameter("priorite"));
这是错误:
java.lang.NumberFormatException: For input string: ""
java.lang.NumberFormatException.forInputString(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
projet.helpdesk.form.CreationTicketForm.soumettreTicket(CreationTicketForm.java:29)
projet.helpdesk.servlets.CreationTicket.doPost(CreationTicket.java:32)
javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
第29行是我标记的第1行&#34;错误 - &gt;&#34;
答案 0 :(得分:0)
idemp
的吸气器可能存在问题。
也就是说,idemp
的getter名称必须为getIdemp()
,以便您能够通过表达式语言(${masession.idemp}
)获取它。
尝试一下,让我知道它是否解决了你的问题。
答案 1 :(得分:-1)
解决:
我在收集参数后避免直接转到parseInt()方法,因为它会产生我上面引用的问题。
例如
private int getPriorite(HttpServletRequest request)
{
String pr = request.getParameter("priorite");
if(!pr.isEmpty())
{
int priorite = Integer.parseInt(pr);
return priorite;
}
else return 0;
}