EL和JSTL

作者: 杨凯飞 | 来源:发表于2018-05-20 15:59 被阅读0次

        EL介绍:EL(Expression Language)表达式语言目的是代替JSP页面中的复杂代码。

        EL语法:${变量名}

        JSTL介绍:JSTL标准标签库(JavaServerPages Standard  Tag Library),JSTL通常会与EL表达式合作实现JSP页面的编码。

        JSTL开发准备工作:在JSP页面添加taglib指令:

                <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>


                                   为什么要使用JSTL标签

        1.在jsp中不建议直接书写Java代码(规范性问题)

        2.EL表达式虽然可以解决“不用书写JAVA代码”问题,但是对于复杂的数据(如:数组,集合等)取值会很麻烦

        3.使用JSTL标签配合EL表达式能够很好的解决取复杂类型数据的问题,简化代码书写


                                   JSTL常用标签介绍

    通用标签    set、out、remove    

            set标签:将值保存到指定范围里

                <c:set var="username" value="杨凯飞" scope="request"></c:set>

            out标签:将结果输出显示

                <c:out value="${username}"></c:out>

            remove标签:删除指定域内数据

                <c:remove var="username" scope="request"/>

            c为taglib指令中的prefix,set、out、remove为标签名,var是键值,value是值,scope是指定保存的范围(Page、Request、Session、Application)

                Page范围:属性只在当前页有效,如果跳转到其他页面,则需要重新实例化,jsp页面操作资源时使用。

                Request范围:属性只保存在一次服务器跳转中

                Session范围:属性值保存在一次会话中,可以使用任意方式连接其他页面,则此对象值实例化一次

                Application范围:属性公有,此对象在整个服务器只实例化一次

    条件标签    if、choose

             if标签:条件标签

                <c:if test="${username=='杨凯飞'}">

                    这个人是帅哥

                </c:if>

                    test为判断条件

        choose标签:

    <c:choose>

        <c:when test="${username=='杨凯飞'}">

            这个人是帅哥

        </c:when>

        <c:when test="${username=='霍华德'}">

            这个人是篮球明星

        </c:when>

        <c:otherwise>

            这个人是个傻子!!

        </c:otherwise>

    </c:choose>

    多个条件判断,when为判断条件,如果以上条件都不成立则执行otherwise。

    迭代标签    forEach

    <c:forEach items="${list}" var="Map">

        ${Map.aa}<br>${Map.bb}<br>

    </c:forEach>

    这种方法类似于for(数据类型 变量名:集合或者数据)

    相关文章

      网友评论

          本文标题:EL和JSTL

          本文链接:https://www.haomeiwen.com/subject/svltjftx.html