• jstl的一些用法


    <jsp:useBean id="personBean" class="com.servlet.PersonInfo"></jsp:useBean>
     1     <c:out value="&lt显示数据对象(未使用转义字符)&gt" escapeXml="true" default="默认值"></c:out><br/>
     2     <c:out value="&lt显示数据对象(未使用转义字符)&gt" escapeXml="false" default="默认值"></c:out><br/>    
     3     <c:out value="${null}" escapeXml="false">使用的表达式结果为null,则输出默认值</c:out><br/>
     4     <c:out value="${initParam.name}" escapeXml="false">使用的表达式结果为null,则输出默认值</c:out><br/>
     5     <c:out value="${name}" escapeXml="false">使用的表达式结果为null,则输出默认值</c:out><br/>
     6     ${requestScope.name}<br/><br/>
     7     
     8     <c:set value="张三" var="name1" scope="session"></c:set>
     9     <c:set var="name2" scope="session">李四</c:set>
    10     <c:set value="赵五" target="${personBean}" property="name"></c:set>
    11     <c:set target="${personBean}" property="age">19</c:set>
    12     <span>从seesion中得到的值:${sessionScope.name1}</span><br/>
    13     <span>从seesion中得到的值:${sessionScope.name2}</span><br/>
    14     <span>从Bean中获取对象person的name值:<c:out value="${personBean.name}"></c:out></span><br/>
    15     <span>从Bean中获取对象person的age值:<c:out value="${personBean.age}"></c:out></span><br/><br/>
    16     
    17     <h2>JSTL: -- forEach标签实例</h2>
    18     <%
    19         List<String> ls = new ArrayList<String>();
    20         ls.add("路飞");
    21         ls.add("索隆");
    22         ls.add("香吉士");
    23         ls.add("乌索普");
    24         ls.add("娜美");
    25         ls.add("乔巴");
    26         ls.add("弗兰奇");
    27         ls.add("罗宾");
    28         ls.add("布鲁克");
    29         request.setAttribute("ls", ls);
    30     %>
    31     <c:out value="不指定begin和end的迭代:"></c:out>
    32     <c:forEach var="list" items="${ls}" >
    33         <c:out value="${list}"></c:out>
    34     </c:forEach><br/>
    35     <c:out value="指定begin和end的迭代(step 指定间隔):"></c:out>
    36     <c:forEach var="list" items="${ls}" begin="1" end="5" step="2">
    37         <c:out value="${list}"></c:out>
    38     </c:forEach><br/>
    39     <c:out value="输出整个迭代信息:"></c:out>
    40     <c:forEach var="list" items="${ls}" begin="3" end="4" step="1" varStatus="s">
    41         <c:out value="${list}"></c:out>的四种属性<br/>
    42         所在位置,即索引:<c:out value="${s.index}" /><br>
    43         总共迭代的次数:<c:out value="${s.count}" /><br>
    44         是否为第一个位置:<c:out value="${s.first}" /><br>
    45         是否是最后一个位置:<c:out value="${s.last}" /><br>
    46     </c:forEach><br><br>

    1、第1、2两行,关键字escapeXml为设置value中的内容是否需要转义;

    2、第3、4、5如果el表达式中的内容为空,则显示页面中的内容;

    3、第6行,通过el表达式获取request中的数据,这里要注意,servlet中有两种页面跳转的方法,response.sendRedirect()和 config.getServletContext().getRequestDispatcher("/jstl.jsp").forward(request, response);前者传参数只能通过url的方式,后者可以将参数放在request中;

    4、第8、9、12、13行,向sessionScope中设置值,并显示;

    5、第10、11、14、15行,向实体类PersonInfo中设置值,并显示;

    6、forEach标签实例:

              items:被迭代的集合对象;

              var:存放当前指到的集合对象中的成员。就是声明一个变量,这个变量就是items;

              varStatus:存放当前指到的成员的相关信息。(index:当前指到的成员的索引;count:当前总共指到成员的总数;first:当前指到的成员     是否为第一个成员;last:当前          指到的成员是否为最后一个成员)。

              begin:迭代开始的位置,默认为0。

              end:迭代结束的位置,默认为最后。

              step:每次迭代的间隔数,默认为1。

    执行结果为:
        

     set 标签的属性: value(Object),要创建的字符串,或要引用的限域对象,或新的属性值;

            var(String),要创建的限域变量,就是声明一个变量的意思;

            scope(String),新建限域对象的范围;

            target(Object),其属性要赋新值的对象,必须时javaBean实例或者是java.util.Map对象;

            property(String),要赋新值的属性名称;

    remove 标签的属性:var(String),要删除限域变量的名称;

              scope(String),要删除限域变量的范围;

    if 标签的属性:test(boolean),决定是否处理某些现有主要内容的测试条件;

           var(String),引用测试条件值的限域变量名称,var 的类型为boolean;

           scope(String),用var设置的限域变量的范围;

          

              

  • 相关阅读:
    css实现鼠标悬浮字体流光背景模糊效果
    原生JS实现省市区(县)三级联动选择
    多线程的对象锁和类锁
    session、cookie与“记住我的登录状态”的功能的实现
    Java NIO FileVisitor 高效删除文件
    mysql 服务启动失败
    Http 协议详解
    设计模式 之 策略模式
    简单探讨 javascript 闭包
    数据库SQL优化大总结之 百万级数据库优化方案
  • 原文地址:https://www.cnblogs.com/hongcong/p/5888688.html
Copyright © 2020-2023  润新知