• JSTL


    JSTL介绍

      --JSP标准标签库(JavaServerPages Standard Tag Library)

    与EL表达式关系

      --JSTL通常会与EL表达式合作实现JSP页面的编码

    JSTL开发准备

      --在JSP页面添加taglib指令:<%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c" %>

    为什么要使用JSTL标签?

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

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

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

    JSTL标签库所需jar包

      jstl-1.2.jar

    JSTL常用标签介绍

      #通用标签  set、out、remove

      #条件标签  if、choose

      #迭代标签  forEach

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

      --将value值存储到范围为scope的变量variable中

        <c:set var="username" value="张三" scope="request"/>

     *out标签:将结果输出显示

        <c:out  value="value"/>

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

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

    代码示例:

    1  <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    2  <body>
    3     <!-- set、out、remove -->
    4     <c:set var="username" value="张三" scope="request"></c:set>
    5     <c:out value="原值输出"></c:out><br>
    6     <%=request.getAttribute("username") %><br>
    7     <c:remove var="username" scope="request"/>
    8     <%=request.getAttribute("username") %>
    9   </body>

    if使用

     1  <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
     2  <body>
     3       <c:set var="age" value="23" scope="request"></c:set>
     4     <!-- if标签
     5         test:判断的条件,如果条件为true,会执行标签体中的内容
     6      -->
     7      <c:if test="${age==23 }">
     8          您的年龄为23岁
     9      </c:if>
    10     hello world
    11   </body>

    结果:

    您的年龄为23岁 hello world

    choose标签的使用:

     1 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
     2    <body>
     3       <c:set var="age" value="23" scope="request"></c:set>
     4     <!-- choose标签 -->
     5     <c:choose>
     6         <c:when test="${age==23 }">
     7             您的年龄为23岁
     8         </c:when>
     9         <c:otherwise>
    10             您的年龄不是23岁
    11         </c:otherwise>
    12     </c:choose>
    13   </body>

    结果:

    您的年龄为23岁

    forEach标签的使用:

     1 public class JSTLELServlet extends HttpServlet {
     2 
     3     public void doGet(HttpServletRequest request, HttpServletResponse response)
     4             throws ServletException, IOException {
     5         /*
     6          * 1.首先创建一个List集合,我们往这个集合中存放多条数据
     7          * 2.将存放多条数据的List集合保存到request域中
     8          * 3.我们在jsp中取出request域中存放的list集合
     9          */
    10         Map<String,Object> datamap1=new HashMap<String, Object>();
    11         datamap1.put("shopName", "联想笔记本");
    12         datamap1.put("address", "北京");
    13         datamap1.put("price", 5600);
    14         Map<String,Object> datamap2=new HashMap<String, Object>();
    15         datamap2.put("shopName", "惠普笔记本");
    16         datamap2.put("address", "郑州");
    17         datamap2.put("price", 4999.00);
    18         
    19         List<Map<String,Object>> lists=new ArrayList<Map<String,Object>>();
    20         lists.add(datamap1);
    21         lists.add(datamap2);
    22         
    23         request.setAttribute("lists", lists);
    24         request.getRequestDispatcher("/2.jsp").forward(request, response);
    25     }
    26 
    27 }

    2.jsp:

     1 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
     2 <body>
     3     <table border="1" cellspacing="0px">
     4             <tr>
     5                 <td>商品名称</td>
     6                 <td>商品产地</td>
     7                 <td>商品价格</td>
     8             </tr>
     9         <c:forEach items="${lists }" var="Map">
    10             <tr>
    11                 <td>${Map.shopName }</td>
    12                 <td>${Map.address }</td>
    13                 <td>${Map.price }</td>
    14             </tr>
    15         </c:forEach>
    16     </table>
    17 </body>

    结果:

  • 相关阅读:
    JS——变量和函数的预解析、匿名函数、函数传参、return
    JS——函数
    JS——操作元素属性
    JS——变量声明、变量类型、命名规范
    JS——三种嵌入页面的方式
    CSS——弹性盒模型
    CSS——相对定位、绝对定位、固定定位
    CSS3——PC以及移动端页面适配方法(响应布局)
    [20180528]校内模拟赛
    Leetcode Majority Element系列 摩尔投票法
  • 原文地址:https://www.cnblogs.com/xjs1874704478/p/10917719.html
Copyright © 2020-2023  润新知