网站首页及公共技术点
首页应该具有的功能:
首页的布局设计:
- 左上侧显示商品一二级分类及进入分类的链接
- 主体区域内按分类推荐各8个商品(每行四个,分两行)
- 每个商品显示摘要信息,点击可进入详情页
动态页面的实现
对于我们这些从java后端往Java全栈的程序员而言,第一个想法一定是选择jsp,因为jsp可以使用jstl标签库实现页面的动态生成,甚至可以在jsp页面插入java代码实现某些业务逻辑.但是只要你是一个经常关注IT前沿的程序员,你就能知道为什么大公司推崇前后端分离,而jsp就不能很好的完成前后端分离这个任务,所以我们这次不再使用jsp,我们应该试着去使用模板引擎,本来我是打算使用jmr的,但是为了跟老师保持一致,我们就以Freemarker模板引擎为例好了,至于语法,我推荐大家去看下面这位大佬的博客,我也是看他的博客学的:一篇很全的freemarker教程.
关于页面复用
大家是不是发现很多的网站的导航栏和尾部都是一样的,只有中间的主体部分不同.难道它们给每个html都粘贴了同样的代码?如果你真的这么想或者还在这么做,那么搞前端的小伙伴估计要笑出了声,关于代码冗余的问题不光是我们后端要关注的,前端更是要关注,前端小伙伴的解决方案应该是vue的组件复用,由于我是搞后端的,目前还分不出精力学vue,我们就是用sitemesh来实现复用。
网页布局方案
对于这部分,我们就要明确有哪些页面是需要使用统一布局的,哪些不能使用统一布局:
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/WEB-INF/views/layout/">
<!-- 不使用统一布局的页面-->
<excludes>
<pattern>/login</pattern>
<pattern>/reg</pattern>
<pattern>/cart/*</pattern>
<pattern>/cart</pattern>
<pattern>/cart*</pattern>
<pattern>/settlement</pattern>
<pattern>/settlement/*</pattern>
<!--<pattern>/home</pattern>-->
<!--<pattern>/*.jsp</pattern>-->
<pattern>/alipay</pattern>
<pattern>/alipay*</pattern>
<pattern>/alipay/*</pattern>
<pattern>/pay</pattern>
<pattern>/pay*</pattern>
<pattern>/pay/*</pattern>
</excludes>
<!-- -->
<decorator name="main" page="main.ftl">
<pattern>/*</pattern>
</decorator>
</decorators>