让编程体验更优雅---JSTL

      什么是JSTL?

 

     为什么要用JSTL?

 

       JSTL英文的全称是JSP  Standard Tag Library从英文的解释中我们可以略知一二关于JSTL的概念:JSP有关的标准标签库.而这个与JSP的关系具体可以解释为:JSTL只能运行在支持JSP1.2Servlet2.3规范的容器上.也就是说JSTL有着自身的运行环境.

     

      至于为什么要用JSTL?请先看下面两段代码的对比效果.

      以下代码段是实现一个功能:itemCategoryList集合中的取出并将每个项目的id和名称显示在表格中.由于为了掩饰对比效果,相关ServletJsp页面都进行了忽略(因为他们几乎都是一样的).

 

1用传统的Scriptlet进行实现

 

    <td>

             <%

               List<ItemCategory>itemCategoryList=(List)request.getAttribute("itemCategoryList");

            %>

            <select name="category"class="select1" id="category">

             <%

                 for(Iterator<ItemCategory>iter=itemCategoryList.iterator();iter.hasNext();){

                     ItemCategoryic=iter.next();

             %>

             <optionvalue="<%=ic.getId()%>"><%=ic.getName() %></option>

             <%

                 }

             %>

            </select>

     </td>

 

 

2通过JSTL进行实现

                  <td>

                    <select name="category"class="select1" id="category">

                            <c:forEach items="${itemCategoryList }"var="itemCategory">

                                    <option value="${itemCategory.id }">${itemCategory.name}</option>

                            </c:forEach>

                    </select>

            </td>

 

 

      通过上面同一个功能两种实现进行对比分析我们可以发现.当我们用JSP脚本来实现此任务时需要在页面中嵌入相关的Java代码,这也就意味着作为页面设计人员需要了解相关的Java编程知识,而这对于他们而言无疑是一个"灾难".而将这些JSP脚本嵌入到页面中使得页面本身的维护量就大大的增加.

 

      再进一步分析,当嵌入JSP脚本的页面如果出现问题.这时候已经超出了前台设计人员所能解决的范围,毕竟人家的专业是在美工和设计.这时候需要把程序员叫过来,让他来进行解决.一两个小问题程序员跑过来帮助前台人员解决一下还是可以的,但是当大量问题出现的话.程序员就悲催了.这对这个团队而言又是一个"灾难".

 

     上面的过程中违背我们编程常提到的"高内聚,低耦合"的思想.嵌入JSP脚本的页面是高耦合的体现.设计人员不仅要懂页面设计,还需要懂java相关的编程知识.JSP页面的代码责任分担给多个人.因为分工不明确使得开发,调试,维护相关的JSP页面变成了麻烦棘手的事情.

 

     如此下去,编程何谈优雅?

 

     遇到问题,聪明的人们总会找到各种解决方案.方法永远比问题多.

 

      JSTL将常用功能包装到定制的标准集合中.这样JSTL使得JSP页面的设计人员减少对相关脚本的依赖,甚至可以省去他们.如此一来,页面设计人员只需要学习一下JSTL相关的标签库内容,而标签库的学习要远比java来的简单.程序员可以专心的编写自己后台的代码,省去了被前台人员"骚扰"的麻烦.两家皆大欢喜.对于真个团队和项目而言.职责明确,分工到位.开发,调试,维护的效率大大增加.


  是不是感觉编程那优雅的味道越来越浓啦.


 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值