雄猫错误,读取会话范围变量时出现问题



我试图从JSP传递到servlet的变量是masession.idemp,它已经从会话范围恢复了。

通过以下方式将其传递给servlet "/creerticket":

<input type="hidden" name="idemp" value="${masession.idemp}">

这是要传递给 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 行是我标记为"错误 -->"的第一行

这可能是idemp的获取者的问题。 也就是说,必须getIdemp()idemp的getter名称,以便您能够通过表达式语言(${masession.idemp})获得它。 尝试一下,让我知道它是否解决了您的问题。

已求解:

我避免在收集参数后直接移动到 parseInt() 方法,因为它会产生我上面引用的问题。

例。

private int getPriorite(HttpServletRequest request)
{
String pr = request.getParameter("priorite");
if(!pr.isEmpty())
{
int priorite = Integer.parseInt(pr);
return priorite;
}
else return 0;
}

最新更新