81,091
社区成员
发帖
与我相关
我的任务
分享
<form action="${pageContext.request.contextPath }/FoodServlet?method=addFood" method="post" enctype="multipart/form-data">
<!-- 本段标题(分段标题) -->
<div class="ItemBlock_Title">
<img width="4" height="7" border="0" src="${pageContext.request.contextPath }/sys/style/images/item_point.gif"> 菜品信息
</div>
<!-- 本段表单字段 -->
<div class="ItemBlockBorder">
<div class="ItemBlock">
<div class="ItemBlock2">
<table cellpadding="0" cellspacing="0" class="mainForm">
<tr>
<td width="80px">菜系</td>
<td>
<select name="foodTypeId" style="width:80px">
<c:choose>
<%-- 判断从数据库中获取的菜系表是否为空 --%>
<c:when test="${not empty requestScope.foodTypeList }">
<%-- 在下拉框里显示所有菜系 --%>
<c:forEach var="foodType" items="${requestScope.foodTypeList }">
<option value="${foodType.id }" >
${foodType.typeName }
</option>
</c:forEach>
</c:when>
<%-- 如果菜系表为空 --%>
<c:otherwise>
<option value="0" >
无菜系
</option>
</c:otherwise>
</c:choose>
</select>
</tr>
<tr>
<td width="80px">菜名</td>
<td><input type="text" name="foodName" class="InputStyle" value=""/> *</td>
</tr>
<tr>
<td>价格</td>
<td><input type="text" name="price" class="InputStyle" value=""/> *</td>
</tr>
<tr>
<td>会员价格</td>
<td><input type="text" name="mprice" class="InputStyle" value=""/> *</td>
</tr>
<tr>
<td>简介</td>
<td><textarea name="remark" class="TextareaStyle"></textarea></td>
</tr>
<tr>
<td width="80px">菜品图片</td>
<td>
<input type="file" name="img"/> *
</td>
</tr>
</table>
</div>
</div>
</div>
<!-- 表单操作 -->
<div id="InputDetailBar">
<input type="submit" value="添加" class="FunctionButtonInput">
<a href="javascript:history.go(-1);" class="FunctionButton">返回</a>
</div>
</form>
// 3,添加菜品
private void addFood(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
// 获取前台数据并封装到Food对象
Food food = new Food();
// 主键id
//food.setId(Integer.parseInt(request.getParameter("id")));
// 菜名
food.setFoodName(request.getParameter("foodName"));
// 外键,所属菜系id
//food.setFoodTypeId(Integer.parseInt(request.getParameter("foodTypeId")));
// 价格
food.setPrice(Double.parseDouble(request.getParameter("price")));
// 会员价
food.setMprice(Double.parseDouble(request.getParameter("mprice")));
// 菜品简介
food.setRemark(request.getParameter("remark"));
// 菜品图片
food.setImg(request.getParameter("img"));
// 添加到数据库
foodService.addFood(food);
// 回到菜品列表
uri = "/FoodServelet?method=listFood";
} catch (Exception e) {
e.printStackTrace();
uri = "/error/error.jsp";
}
request.getRequestDispatcher(uri).forward(request,response);
}
java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1838)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at cn.itcast.servlet.FoodServlet.addFood(FoodServlet.java:112)
at cn.itcast.servlet.FoodServlet.doGet(FoodServlet.java:48)
at cn.itcast.servlet.FoodServlet.doPost(FoodServlet.java:164)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)