这篇博客是对我学习的记录。
---------------------------------------------------------------------2015-07-29晚---------------------------------------------------------------
最近几个月都在学习java,我当初为什么要选择技术,其实我当初是看中了技术的薪水,但是后来发现技术不仅仅是要看中薪水,还要看重技术,因为我觉得技术是一门非常美丽的艺术,至少我是这么认为的,在现在的社会当中,人们越来越离不开电子科技了,而很多的电子科技都是开发人员拼死拼活做出来的,当然作为一个程序员的话,编码的过程可以说是血泪与欢笑的交替。好了,不罗嗦了,直接进入正题。
最近学习完了java WEB,要一个小组合作完成一个小型的项目(类似于淘宝网),其实做的东西也不多,主要是要我们熟悉正式编代码的时候走的流程。
因为需求文档和页面以及数据库都是现成的了,所以我们只做后台也前台交互就可以了。当然前台也需要稍微调整,例如拿到后台的数据再把它们显示在页面上。
这次的项目使用的是STS(Spring Tool Suit)开发工具,这个开发工具其实就是对eclipse进行了自定义改造。使用起来也没多大的差别,就是多了一些插件而已。然后项目使用的框架是SpringMVC+hibernate,目前市场上应该主流的有几个搭配:SSH,SpringMVC+hibernate,SpringMVC+mybatis我目前知道的就这三种搭配。
这次的项目我做的部分是页面的显示,当打开首页的时候就需要使用一个forward标签来进行跳转到后台取数据,之后再跳转回首页,将拿到的数据进行显示。此处需要注意的地方是:如果单单写了个forward标签而不加以判断的话就会出现死循环。所以在进入后台之后要把一些要显示的数据设置到applicationScope里面或者是SessionScope里面,个人觉得,只要在整个网站中所有人见到的东西都一样的话就设置成applicationScope,这样既方便又简洁。
<c:if test="${(applicationScope.brands)==null }">
<jsp:forward
page="${pageContext.request.contextPath }/../page/toIndex.do"></jsp:forward>
</c:if>
这里面的brands是所有的商标的意思。如果是首次进入index.jsp页面时这个brands是空的,所以就需要跳转到后台拿数据,第二次进入index.jsp的时候brands不为空,所以就不需要在调到后台的controller里面了。
首页当然不仅仅只有商标,还有产品,产品也是需要在第一次跳到后台的时候拿到数据,这些数据一般都是经过处理的,例如经过了特定的要求排好序的一个产品集合。首页拿到数据后在使用jstl的标签foreach遍历出来并显示在页面上。
<c:forEach var="brand" items="${applicationScope.brands }">
<dl>
<dt>
<a href="${pageContext.request.contextPath }/product/product_list.do?selectType=1&&pageCount=1" title="${brand.name }"&