jsp标签&jstl

来源:互联网 发布:淘宝介入买家举证流程 编辑:程序博客网 时间:2024/06/05 17:50

jsp标签&jstl


 1.什么是jsp标签 

        sun公司制定的一种技术规范,利用jsp标签来替换jsp文件中的java代码。好处,jsp页面会更简洁,并且更好维护(比如,将jsp文件交给美工去修改就很不方便)。

        可以将jsp标签看做是一个占位符,容器遇到jsp标签之后,会依据标签名找到标签类,然后调用执行标签类中的代码。

        使用jsp标签,有两个好处:

        a.jsp文件很好维护。

        b.方便代码的复用(可以将一些常见的代码封装成一个jsp标签)。


 2.jstl是什么?

        jstl:java standard taglib(java标准标签库,apache开发的一套标签,捐献给了sun,sun将其命名jstl)。

        如何使用?(web10_2.e2.jsp)

            step1,将jstl标签对应的jar文件拷贝到WEB-INF\lib下。

                standard.jar    jstl.jar

            step2,使用taglib引入jsp标签。

  演示代码:(web10_2.e2.jsp)

<!--  <%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8" %><%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c" %><html><head></head><body>taglib标签的uri属性为命名空间,prefix属性值为此命名空间的简写。<c:if test="${1>0}">hello</c:if></body></html>-->


 3.jstl中几个核心标签

        1)if

            <c:if test="" var="" scope="">

                标签体(el表达式/java代码)

            </c:if>

            当test属性值为true,执行标签体的内容,test属性可以使用el表达式。

            var属性用来指定绑定名称。

            scope属性指定绑定的范围,可以是page、request、session、application。

        2)choose

            <c:choose>

                <c:when test=""> ... </c:when>
                ...

                <c:otherwise> ... <./c:otherwise>

            </c:choose>

            when和otherwise必须要放到choose标签里面才能使用。

            when可以出现1次或者多次,otherwise可以出现0次或者1次。

        3)forEach

            <c:forEach var="" items="" varStatus="">

            </c:forEach>

            用来遍历集合,其中,items属性用来指定要遍历的集合,可以使用el表达式。var属性用来指定绑定名,绑定范围是pageContext,绑定值是集合中的某个元素。

            varStatus属性指定绑定名,绑定范围是pageContext,绑定值是一个由容器创建的一个对象,该对象封装了当前迭代的状态。比如,该对象提供了getIndex,getCount方法,其中getIndex会返回当前迭代的元素的下标(从0开始),getCount会返回当前迭代的次数(从1开始)。


 4.jsp标签是如何运行的?

        容器依据命名空间找到标签的描述文件(.tld文件),接下来,依据标签的名称找到标签类的类名,然后将该标签实例化,最后,调用标签实例的相应的方法。

        注:容器会先从WEB-INF下查找,如果找不到,还会查找WEB-INF\lib下的jar文件。



5.javaee5.0当中,如何使用el表达式和jstl

    j2ee 1.4  -->  servlet 2.4  -->  tomcat 5.0

    javaee 5.0  -->  servlet 2.5  -->  tomcat 6.0

    在javaee5.0以上版本当中,已经将jstl标签对应的jar文件包含进来了,不用再去将这些jar文件拷贝到WEB-INF\lib下。





            
   
0 0
原创粉丝点击