模拟京东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页面的请求路径
今天早上相比很多网友和一样收到来自Linode的庆祝18周年的邮件信息。和往年一样,他们会回顾在过去一年中的成绩,以及在未来准备改进的地方。虽然目前Linode商家没有提供以前JP1优化线路的机房,但是人家一直跟随自己的脚步在走,确实在云服务器市场上有自己的立足之地。我们看看过去一年中Linode的成就:第一、承诺投入 100,000 美元来帮助具有社会意识的非营利组织,促进有价值的革新。第二、发...
Contabo是一家运营了20多年的欧洲老牌主机商,之前主要是运营德国数据中心,Contabo在今年4月份增设新加坡数据中心,近期同时新增了美国纽约和西雅图数据中心。全球布局基本完成,目前可选的数据中心包括:德国本土、美国东部(纽约)、美国西部(西雅图)、美国中部(圣路易斯)和亚洲的新加坡数据中心。Contabo的之前国外主机测评网站有多次介绍,他们家的特点就是性价比高,而且这个高不是一般的高,是...
Spinservers是Majestic Hosting Solutions,LLC旗下站点,主营美国独立服务器租用和Hybrid Dedicated等,数据中心位于美国德克萨斯州达拉斯和加利福尼亚圣何塞机房。TheServerStore.com,自 1994 年以来,它是一家成熟的企业 IT 设备供应商,专门从事二手服务器和工作站业务,在德克萨斯州拥有 40,000 平方英尺的仓库,库存中始终有...