我的大概思路是这样的,第一后果获取所有的商品分类 保存在list集合里面,第二从后台获取所有的商品 第三在JSP页面遍历商品分类集合放在页面的左边,然后jsp页面商品详细信息这块,也得先遍历商品分类,然后里面嵌套遍历商品详细信集合

并且带条件<c:if> 判断语句 条件为,分类对象的ID 要等于商品对象里面的分类ID 大概是这样,看下面JSP代码明白了

1:jsp 页面如下图

 <div class="secti-con">
<!-- 菜品分类 -->
<div class="secti-conl" >
<ul class="secti-conla">
<c:forEach items="${classificationList }" var="classification">
<li style="border-top:0;" data-id="${classification.id }">${classification.className }</li>
</c:forEach>
</ul>
</div>
<!-- 菜品详细 -->
<div class="secti-conr" >
<c:forEach items="${classificationList }" var="classification">
<ul id="${classification.id }" style="display: none;">
<s:iterator value="list" var="dishes" status="st">
<c:if test="${classification.id eq dishes.classification.id }">
<li>
<div class="sect-box">
<div class="sect-img">
<%-- <a href="javascript:goToDetail(${dishes.id})"><img src="<%=basePath %>${dishes.imageUrl}"></a> --%>
<img src="<%=basePath %>${dishes.imageUrl}" onerror="javascript:this.src='<%=basePath %>res/funcanteen/images/Place-order-3.0/noimg.png';"/>
</div>
<div class="sect-name">
<div class="sect-name1">
<%-- <a href="javascript:goToDetail(${dishes.id})">
<span >${dishes.name }</span>
</a> --%>
<span >${dishes.name }</span>
</div>
<div class="sect-name2">已售出 <span id="dishes_${dishes.id }" class="salesShow">加载中</span></div>
<div class="sect-name3">¥<span class="priceded">${dishes.price }</span></div>
<div class="caidan_jg_y">${p.oldPrice != null ? '¥' : ''}${p.oldPrice }</div>
</div>
<div class="sect-add">
<div class="sect-adda">
<div class="sect-added">
<button type="button" class="dellNum delled" id="dellNum_${dishes.id }">-</button>
<input name="dell_dishesId" type="hidden" value="${dishes.id}" id="dell_dishesId"/>
<input id="numberinst_${dishes.id }" class="numberinst" readonly="" value="0" type="text" name="number" maxlength="2">
<button type="button" class="addedNum addedl">+</button>
<input name="dishesId" class="dishesIdInput" type="hidden" value="${dishes.id }"/>
</div>
</div>
</div>
</div>
</li>
</c:if>
</s:iterator>
</ul>
</c:forEach>
</div>
</div>

2:页面加载时候默认给选中第一个分类

js代码如下页面第一次加载时候js控制选中一个商品分类

$(document).ready(function(){
var conla = $(".secti-conla li:first-child");
conla.addClass("sectidea");
var conlaId = conla.data("id");
$("#"+conlaId).show();
});

3:js控制点击商品分类时候显示商品详细信息

//点击菜品分类名称
$(".secti-conla li").click(function(e) {
$(this).addClass("sectidea").siblings().removeClass("sectidea");
var conlaId = $(this).data("id");
$("#"+conlaId).show().siblings().hide();
});

具体后台数据怎么封装的,这个根据个人需求决定了,这里就不说了。

jsp页面展示更加商品的分类,控制商品的显示的更多相关文章

  1. jsp页面往mysql里插入中文后数据库里显示乱码

    1.JSP页面乱码 这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可,<%@ page contentType="text ...

  2. springmvc 返回json数据给前台jsp页面展示

    spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring- ...

  3. JSP页面数据展示:分组数据展示

    一.描述: 页面上要展示的数据只要写好sql从数据库查出来即可,但是展示有时候不是太好处理.比如工作中遇到的这种情况:有一个问题处理的流程,其中需要选择下一处理人,这些处理人要以部门的形式分组展示,实 ...

  4. 关于html5与jsp页面同样的html代码展示的页面效果不一样的问题

    原文:关于html5与jsp页面同样的html代码展示的页面效果不一样的问题 html5默认的声明为 <!DOCTYPE html> jsp默认的声明头部为 <%@ page con ...

  5. 通用分页jsp页面显示

    注:本章内容都是在上一篇文章 通用分页后台显示:https://www.cnblogs.com/ly-0919/p/11058942.html  的基础上进行改进,所以有许多的类都在上一篇, 带来不便 ...

  6. 【SpringBoot】转载 springboot使用thymeleaf完成数据的页面展示

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/weixin_36380516/artic ...

  7. app——分享wap站,数据处理页面展示

    无意中接到了一个小的工作任务:配合手机app端的分享功能做一个wap站,简言之:将手机app端分享的文章id传过来,利用此id再进行一系列的操作,由于文章分为纯文本,图文以及图集的三种类型的文章,因此 ...

  8. Saiku控制页面展示的数据过长自动换行(二十四)

    Saiku控制页面展示的数据过长自动换行 目前用到saiku来展示数据,发现数据文本过长也不会自动换行,然而用户那边又需要换行(会好看些),所以就来改一改源码啦 首先我们使用谷歌浏览器 inspect ...

  9. Jsp页面跳转和js控制页面跳转的几种方法

    Jsp 页面跳转的几种方法 1. RequestDispatcher.forward() 在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servle ...

随机推荐

  1. 「JSOI2015」圈地

    「JSOI2015」圈地 传送门 显然是最小割. 首先对于所有房子,权值 \(> 0\) 的连边 \(s \to i\) ,权值 \(< 0\) 的连边 \(i \to t\) ,然后对于 ...

  2. T114048 [RC-02] yltx数对 (打表)

    这题如果全部打表的话,文件大小会有65kb,超了,所以只打出一半,前一半用程序算就可以了,并不会超时. 如果算法优化的好,其实可以打的更少. #include <bits/stdc++.h> ...

  3. txt文件太大打不开怎么办

    #开始 最近在调试代码的时候,生成了一个400MB的日志文件 找了很多文本编辑器,都表示太大了打不开 QAQ #解决方案 百度下载 “txt杀手” 用这个软件把文本文件拆分成小份就可以打开了 输入如图 ...

  4. java中对象的初始化问题

    最近又把java编程思想看了看.又有些收获.此书确实不错 java中的初始化相信很多人都知道.但是具体的初始化步骤,初始化几次确不一定.上代码 public class A{ public stati ...

  5. VS2013 Solution Explorer can not open

    Delete content under the path: C:\Users\username\AppData\Local\Microsoft\VisualStudio\12.0\Component ...

  6. python匿名函数与三元运算

      匿名函数 匿名函数就是不需要显示式的指定函数名 首先看一行代码: def calc(x,y): return x*y print(calc(2,3)) # 换成匿名函数 calc = lambda ...

  7. Java 从入门到进阶之路(十八)

    在之前的文章我们介绍了一下 Java 中的正则表达式,本章我们来看一下 Java 中的 Object. 在日常生活中,任何事物我们都可以看做是一个对象,在编程中是同样的道理,在 Java 编程中其实更 ...

  8. HDU4280 Island Transport

    ISAP求最大流模板 #include<cstdio> #include<cstring> #include<algorithm> #include<iost ...

  9. 最全面的C/C++编码规范总结

    C语言是面向过程的,而C++是面向对象的 对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性.可维护性.例如我们可以规定某 ...

  10. Windows下MySQL5.7版本中修改编码为utf-8

    我们新安装的MySQL数据库默认的字符是 latin1 ,所以每次新建数据库都要修改字符,非常麻烦.所以我们必须将它改成UTF8字符的. 修改方法如下: 一.修改MySQL的my.ini 首先在 \P ...