菜品添加后显示的脚本写法

菜品添加后显示的脚本写法

请问老师,我在完成了菜品的添加后,在showFoodList.jsp中如何展示菜品信息,这里面包括菜品信息查询中显示所有菜品信息和按菜名显示信息,我不知道该怎么写这个脚本把信息显示出来。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

8回答
提问者 拓扑95 2018-04-29 16:47:36

老师在showFoodList页面中,从session中获取参数list的值,涉及到Object转成泛型,会出现警告信息,请问这个怎么避免??

  • 添加注释 @SuppressWarnings("unchecked")
    2018-04-30 22:19:55
好帮手慕珊 2018-04-27 16:21:10

可以这么完成,注意我们的作业需求,查询所有菜品信息和根据菜品名称查询菜品信息的方法,他们的返回值都是List,也就是即使根据菜品名称查询出来的只是一条菜品信息,我们也把他存放到List中。当然,你使用Food类而不是Map存储商品信息也没关系,但是要把查询到的菜品信息存放到List中

http://img1.sycdn.imooc.com//climg/5ae2dc020001d11d07620303.jpg

然后在Servlet中就不用有把food存放到session里了,而是都把list存放到session中,也就是如下图所示的两个位置,都写上request.getSession().setAttribute("list",list);  当然上面的Food food=fooDaoImpl.getFoodByName(foodName)也要根据上述DAO的改动进行修改,返回值是list

http://img1.sycdn.imooc.com//climg/5ae2dcb00001f2fc06540370.jpg

这样的话,jsp中就只获取list的值,然后再显示就可以了。

你可以再试试,如果还有问题,请把代码贴全,比如DAO的代码,jsp的代码和Servlet的代码,方便我们帮你调试。

祝学习愉快!

  • 提问者 拓扑95 #1
    老师在showFoodList页面中,从session中获取参数list的值,涉及到Object转成泛型,会出现警告信息,请问这个怎么避免??
    2018-04-29 14:09:10
提问者 拓扑95 2018-04-27 15:04:43
	if(session.getAttribute("list")!=null){
						@SuppressWarnings("unchecked")
						List<Food> list = (List<Food>)session.getAttribute("list");
						Food food = new Food();
						for(int i=0;i<list.size();i++){
							food = list.get(i);
						}
					}else if(session.getAttribute("food")!=null){
						Food food = (Food)session.getAttribute("food");
						int idx = food.getPath().lastIndexOf("\\");
						//获得文件上传的唯一文件名
						String fileName = food.getPath().substring(idx+1);
				%>
					<tr>
						<td><%=food.getId() %></td>
						<td><%=food.getName() %></td>
						<td><%=food.getTaste() %></td>
						<td><img src="/var_dish/upload/<%=fileName %>"></td>
						<td><%=food.getPrice() %></td>
						<td><%=food.getDescrib() %></td>
					</tr>

showFoodList.jsp脚本代码

提问者 拓扑95 2018-04-26 19:45:39

http://img1.sycdn.imooc.com//climg/5ae1bb920001d8e706750365.jpg

上面代码部分,在进行根据菜名查询时,出现空指针异常。

http://img1.sycdn.imooc.com//climg/5ae1bb92000107ce06730380.jpg

这部分是showFoodList页面的脚本,之前是用于添加菜品后展示菜品信息的。

一叶知秋519 2018-04-26 18:54:41

查询功能在查询全部信息和根据菜名查询不知道怎样分类?

思路:查询全部菜品可以是在链接上加一个参数进行区分,根据菜名查询就不需要参数了,在Servlet中可以根据参数的有无,判断是查询全部还是根据菜品查询。

类似于这样:

http://img1.sycdn.imooc.com//climg/5ae1af9e00011fe108060086.jpg

在Servlet中获取type的值,type有值完成所有菜品的查询,返回显示页面,进行全部菜品的展示;

否则查询单个菜品。

祝学习愉快!

  • 提问者 拓扑95 #1
    请问在showFoodList界面怎么写脚本呢?因为之前添加菜品已经使用了session
    2018-04-26 19:38:51
  • 提问者 拓扑95 #2
    老师,请问要怎样才能在showFoodList把信息正常输出??
    2018-04-26 19:46:36
  • 一叶知秋519 回复 提问者 拓扑95 #3
    可以继续使用session的,在查询Servlet中,通过session.setAttribute("food", resultList),然后再跳转到显示页,同学试下这种方式~~~
    2018-04-27 09:43:18
提问者 拓扑95 2018-04-26 17:33:40
一叶知秋519 2018-04-26 16:51:10

建议同学将存储的相关代码贴一下~~

  • 提问者 拓扑95 #1
    添加功能已经解决!查询功能在查询全部信息和根据菜名查询不知道怎样分类
    2018-04-26 17:23:02
  • 提问者 拓扑95 #2
    public class SelectServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //接收数据 String foodName = request.getParameter("foodName"); FoodDaoImpl foodDaoImpl = new FoodDaoImpl(); if(foodName!=null){ //根据菜名查询 //从FoodDaoImpl类中调用getFoodByName()方法进行查找 Food food = foodDaoImpl.getFoodByName(foodName); request.getSession().setAttribute("food", food); response.sendRedirect(this.getServletContext()+"/showFoodList.jsp"); }else{ //查询所有菜品信息 //从FoodDaoImpl类中调用getAllFood()方法进行查找 List<Map<String, Food>> list = foodDaoImpl.getAllFood(); //与用菜名查询进行区分 response.sendRedirect(this.getServletContext()+"/showFoodList.jsp?flag=1"); } }
    2018-04-26 17:23:54
提问者 拓扑95 2018-04-26 14:47:35

这里面我是把数据封装在Food类中,然后把Food类和ID添加到Map集合的实例params中

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师