EL表达式和JSTL标签库

来源:互联网 发布:淘宝积分在哪里查看 编辑:程序博客网 时间:2024/06/05 14:25

EL表达式和JSTL标签库

前言:

EL和JSTL有什么用?EL用来替代jsp中的<%=  %>,JSTL用来替代jsp中的<%  %>为什么要用他们?方便团队合作,简化jsp代码

正文:

EL(Expression Language)

引包方法:    <!-- 引入函数标签库 -->    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>使用方法:    1.共有page、request、session、application四种传值方法    这里只讲session的传值方法:request.getSession().setAttribute(keyName,keyValues);    2.在接收的时候要在各个传值方法后面加上Scope    例如pageScope、requestScope、sessionScope、applicationScope    通过${sessionScope.KeyName}方法获取keyValues值    /*        把session和KeyName换成你的方法和你取的名字    */    3.通过form表单向另一个jsp页面传值的时候会有两个默认变量param和paramValues    接收时可以通过${param.Name(换成你控件的name)}方法来接受参数    当你的控件name重名,即有多个取名为name的控件可以通过    ${paramValues.Name(换成你的)[1(第几个控件,从0开始索引)]}方法来获取参数

JSTL(JSP Standard Tag Library)

引包方法:    <!-- 引入函数标签库 -->    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>使用方法:    JAVA中的if-else用choose-when-otherwise替代    实例:    <c:choose>        <c:when test="${fenshu(这是个变量) > 60}">            <c:choose>                <c:when test="${fenshu gt 60 and fenshu lt 70}">                    <c:out value="${fenshu}分是及格了,还不错"></c:out>                    //这里是输出                </c:when>                <c:when test="${fenshu gt  70 && fenshu le 80}">                    <c:out value="${fenshu}分挺好的"></c:out>                </c:when>                <c:otherwise >                    <c:out value="${fenshu}分优秀 "></c:out>                </c:otherwise>            </c:choose>        </c:when>        <c:otherwise>            <c:out value="${fenshu}不及格啊"></c:out>        </c:otherwise>    </c:choose>    /*        大于号(>) 写成 gt(greater than的意思)        大于等于号(>=) 写成 ge(great than or equal to的意思)        小于号(<) 写成 lt(less than的意思)        小于等于号(<=) 写成 le(less than or equal to的意思)        等于号(==) 写成 eq(equal的意思)        不等号(!=) 写成 ne(not equal的意思)        与(&&) 写成 and,或(||) 写成 or,非(!) 写成 not    */    JAVA中的循环用forEach替代    实例:    <c:forEach items="${requestScope.alldata(换成你的)}" var="p" >        <!-- c:out 表示输出 -->        <tr>        <td><c:out value="${p.pName(换成你的)}"></c:out></td>        <td><c:out value="${p.pSex(换成你的)}"></c:out></td>        </tr>    </c:forEach>    /*        类似加强for循环        for(int p: bianliang {}        items里的东西相当于bianliang        var="p"相当于这里的int p    */    JAVA中的拆分(split)用forTokens替代    实例:    <c:forTokens items="${strtemp}" delims="#" var="p">        <c:out value="${p}"></c:out>    </c:forTokens>    /*        delims表示分隔符        var表示变量        strtemp是你要分割的字符串    */    JAVA中获取长度的方式用${fn:length(alldata(这是个变量))}替代

Tips:引包时的prefix参数,是创建一个函数,可以通过函数 点 的方法来调用其他方法(JSTL标签中的C:、fn:length方法就是和这个有关)

原创粉丝点击