模拟京东9
课程回顾
1、 去商品详情页
分析---需要的数据----点击图片时商品的id
1、 需要product ----根据id查询
2、 需要sku ----根据商品的id查询库存列表stock>0 Color-设置到sku中
jsp页面回显
1、 商品正常
2、 回显颜色---- skus sku.color.name(颜色重复)
解决颜色重复将颜色取出放到set容器中---不可以有重复元素---重写hashcode、 equals方法
2、 sku的联动效果
选择颜色
1、 选择颜色框时需将该框变红。 addClass(“selected”)
2、 切换颜色时需要将之前选择颜色清空.removeClass(“selected”)
3、 确定颜色后需要加载该颜色下的尺码信息
<for> sku.colorId==colorId 将尺码信息拼接到html判断中。 选择尺码
1、 选择尺码框需要将该框变红
2、 切换尺码时将之前的选择的尺码颜色清空
3、 确定尺码后就可以确定一条sku确定了一条sku那我们就填充价格信息。
<for>sku.colorId==cId sku.size==size填充价格。
进入详情页时--- trigger
1、 默认选择第一个颜色oncl ick (“#id”:first).cl ick----选择第一个颜色
2、 让它默认选择第一个尺码被选中selected
3、 在遍历时在拼接第一个尺码片段时需要添加selected 使用开关。
3、 Freemarker介绍
模板引擎velocity 模板引擎的技术
原理模板+数据---->生成带有数据的静态页
语法
遍历 <#l istusersas user>${user.name}</#l ist>
引入页面 <#include>
条件判断 <#if>todo1<#else>todo2</#if>
判断是否为空 ${key!}
获取下标 user_index
入门程序
1、 创建Configuration对象
2、 通过Configuration指定模板的位置
3、 通过Configuration获取模板
4、 准备数据
5、 数据+模板-输出带有数据的静态页
4、 将freemarker应用到项目中
之前访问详情页时----数据都是重数据库中查询
通过freemarker生成商品的静态详情页
何时生成静态页商品上架时生成静态页
编写静态化服务程序
1、定义StaticPageServiceindex(rootMap静态页需要的数据 id:作为静态页面名称)
2、编写静态化服务的实现类 @service
获取Configuration对象new ---- sipringmvc支持freema rker----freemarkerConfiguration ---- getConfiguratin ---- 注入freemarkerConfiguration 获取Configuration。好处指定模板的路径指定编码格式
通过Configuration获取模板
准备数据
数据+模板--->生成带有数据的静态页指定位置 servletContext获取路径实现servletContextAware 。 realPath- fi le(/html/product/id.html) 输 出 outoutputStrea mwriter(fi leoutputstream, charset)
通过spring管理静态化服务注入freemarkerConfiguration 指定模板的路径指定编码格式
上架程序
1、 可以直接在商品上架的代码中完成静态页的生成
2、 商品上架时已将id发送到mq中所以我们监听mq中的消息并且消费{根据id获取product、 skus数据并且生成静态页}
3、 cms服务中添加消费者的配置文件自定义一个监听器配置的模式 pubsubDomaintrue
4、 product、 solr中都需要配置pubsubDomain true
课程计划
1、 完成广告tab的环境搭建
2、 完成左侧菜单的树形加载TreeView---jquery插件
3、 大广告的列表查询
4、 大广告的添加
5、 前台系统的大广告的轮播---从数据库中查询
6、 大广告轮播优化添加缓存
1完成广告tab的环境搭建
1.1导入jsp页面
1.2在top.jsp添加广告tab页
1.3完成tab页面的跳转
1.3.1修改jsp页面的请求路径
1.3.2在FrameController添加方法
1.4跳转ad_left页面
1.4.1修改jsp页面的请求路径
1.4.2在controller中添加方法
2完成左侧菜单的树形加载
2.1 TreeView插件
介绍 jquery的一款树形插件。样式 fo lder文件夹 fi le文件
2.2分析position表
1、 点击节点时需要判断是否有子节点如果有就加载该节点下的子节点
2、 如果没有字节点那我们查询该节点广告位下的所有的广告。
2.3加载树形菜单
2.3.1编写service接口、实现类
接口方法返回值 l ist<position>方法中形参parentId。
TreeView默认加载url时默认有个root形参 posit/tree.do?root=”source”
实现类
2.3.2配置dubbo服务
略。
2.3.3编写Controller
3加载广告位下的广告列表
3.1编写service接口、实现类
接口方法定义形参 position_id返回值l ist<ad>接口
实现类
3.2编写controller
3.3 jsp页面回显
4大广告的添加
4.1添加
4.1.1去添加页分析
1、添加页面中需要position_id
2、在添加页添加隐藏域position_id
4.1.2更新controller的list方法
4.1.3修改jsp页面的请求路径
天上云怎么样?天上云隶属于成都天上云网络科技有限公司,是一家提供云服务器及物理服务器的国人商家,目前商家针对香港物理机在做优惠促销,香港沙田机房采用三网直连,其中电信走CN2,带宽为50Mbps,不限制流量,商家提供IPMI,可以自行管理,随意安装系统,目前E3-1225/16G的套餐低至572元每月,有做大规模业务的朋友可以看看。点击进入:天上云官方网站天上云香港物理机服务器套餐:香港沙田数据中...
LOCVPS在农历新年之后新上架了日本大阪机房软银线路VPS主机,基于KVM架构,配备原生IP,适用全场8折优惠码,最低2GB内存套餐优惠后每月仅76元起。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐选择KVM),线路方面均选择国内直连或优化方案,访问延迟低,适合建站或远程办公使用。...
对于一般的用户来说,我们使用宝塔面板免费版本功能还是足够的,如果我们有需要付费插件和专业版的功能,且需要的插件比较多,实际上且长期使用的话,还是购买付费专业版或者企业版本划算一些。昨天也有在文章中分享年中促销活动。如今我们是否会发现,我们在安装宝塔面板后是必须强制我们登录账户的,否则一直有弹出登录界面,我们还是注册一个账户比较好。反正免费注册宝塔账户还有代金券赠送。 新注册宝塔账户送代金券我们注册...