el笔记!

来源:互联网 发布:游戏门户网站源码下载 编辑:程序博客网 时间:2024/05/03 12:26

EL 全名为Expression Language,
它原本是JSTL 1.0为方便存取数据所自定义的语言。

EL变量:    EL 存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username

的变量。因为我们并没有指定哪一个范围的username,所以它的默认值会先从Page 范围找,假如
找不到,再依序到Request、Session、Application范围。假如途中找到username,就直接回传,
不再继续找下去,但是假如全部的范围都没有找到时,就回传null(见表6-1):

6-2-3 自动转变类型:    自动转变类型,我们来看    下面这个范例:    ${param.count + 20}    假若窗体传来count的值为10时,那么上面的结果为30。之前没接触过JSP 的读者可能会认为    上面的例子是理所当然的,但是在JSP 1.2 之中不能这样做,原因是从窗体所传来的值,它们的类    型一律是String,所以当你接收之后,必须再将它转为其他类型,如:int、float 等等,然后才能    执行一些数学运算,下面是之前的做法:    String str_count = request.getParameter("count");隐含对象:    PageScop,RequestScope,sessionScope,applicationScope    param   ServletRequest.getParameter(String name)。回传String 类型的值param 的功能和request.getParameter(String name) 相同, 而paramValues 和equest.getParameterValues(String name)相同。如果用户填了一个表格,表格名称为username,则我们就可以使用${param.username}来取得用户填入的值。所谓条件运算符如下:    ${ A ? B : C}    意思是说,当A 为true 时,执行B;而A 为false 时,则执行C。            JSTL是由JCP            (Java Community Process)所指定的标准规格,它主要提供给Java Web 开发人员一个标准通用的            标签函数库。    <c:out>主要用来显示数据的内容    <c:if>的用途就和我们一般在程序中用的if 一样。    语法:        <c:if test="testCondition" [var="varName"]            [scope="{page|request|session|application}"]>            具体内容        </c:if>    test:如果表达式的结果为true,则执行本体内容,false则相反    var: 用来储存test运算后的结果,即true 或false    scope :var 变量的JSP 范围    接下来看下列的范例:        <c:if test="${param.username = = 'admin' }">        ADMIN 您好!! //body 部分        </c:if>        如果名称等于admin,则会显示"ADMIN您好!! "的动作,如果相反,则不会执行<c:if>的body7-2-3 迭代操作迭代(Iterate)操作主要包含两个标签:<c:forEach>和<c:forTokens>,笔者依此顺序依次说明这两个标签的使用。● <c:forEach><c:forEach> 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c:forEach>的本体内容。    语法:        语法1:迭代一集合对象之所有成员        <c:forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"]        [end="end"] [step="step"]>        本体内容        < /c:forEach>        语法2:迭代指定的次数        <c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end"        [step="step"]>        本体内容        </c:forEach>        var :用来存放现在指到的成员        items :被迭代的集合对象        varStatus: 用来存放现在指到的相关成员信息        begin: 开始的位置        end: 结束的位置        step: 每次迭代的间隔数● <c:forTokens>    <c:forTokens> 用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的。    语法:    <c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"]        [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>        本体内容    </c:forTokens>          var: 用来存放现在指到的成员    items: 被迭代的字符串    delims: 定义用来分割字符串的字符        varStatus: 用来存放现在指到的相关成员信息N     begin: 开始的位置        end :结束的位置      step: 每次迭代的间隔数Y 
0 0
原创粉丝点击