• EL表达式与JSTL标签库(二)


    1、JSTL标签库

    标签库 作用 URI 前缀
    核心 包含Web应用的常见工作,如循环、输入输出等 http://java.sun.com/jsp/jstl/core c
    国际化 语言区域、消息、数字和日期格式化 http://java.sun.com/jsp/jstl/fmt fmt

    2、Core标签库

      核心标签库分四类:

    • 多用途核心标签。<c:out>、<c:set>、<c:remove>、<c:catch>
    • 条件控制标签。<c:if>、<c:choose>、<c:when>、<c:otherwise>
    • 循环控制标签。<c:forEach>、<c:forTokens>
    • URL相关标签。<c:import>、<c:url>、<c:redirect>、<c:param>

    3、<c:if>

    属性 描述
    test 需要判断条件
    var 保存判断结果的变量名,该变量的值为true或false
    scope 变量的作用域,默认为page

    4、<c:forEach>

    属性 描述
    begin 开始条件,如果指定items,循环将从begin指定的索引处开始。
    end 结束索引,如果指定items,循环将从end指定索引处结束。
    step 循环的步长,默认为1
    items 遍历的集合对象
    var 循环集合元中的素的变量名
    varStatus 保存循环状态的变量

    5、简单应用

    jsp页面对标签库的引用需要提供jstl的jar包,jar包官方网页版说明如下图示,也可以参考帖子https://blog.csdn.net/qq_32115439/article/details/54685786

     1 package com.alphajuns.domain;
     2 
     3 public class Book {
     4 
     5     private Integer id;
     6     private String name;
     7     private String author;
     8     
     9     public Book() {
    10         super();
    11     }
    12     
    13     public Book(Integer id, String name, String author) {
    14         super();
    15         this.id = id;
    16         this.name = name;
    17         this.author = author;
    18     }
    19     
    20     public Integer getId() {
    21         return id;
    22     }
    23     public void setId(Integer id) {
    24         this.id = id;
    25     }
    26     public String getName() {
    27         return name;
    28     }
    29     public void setName(String name) {
    30         this.name = name;
    31     }
    32     public String getAuthor() {
    33         return author;
    34     }
    35     public void setAuthor(String author) {
    36         this.author = author;
    37     }
    38     
    39 }
     1 package com.alphajuns.controller;
     2 
     3 import java.util.ArrayList;
     4 import java.util.HashMap;
     5 import java.util.List;
     6 import java.util.Map;
     7 
     8 import org.springframework.stereotype.Controller;
     9 import org.springframework.ui.Model;
    10 import org.springframework.web.bind.annotation.RequestMapping;
    11 import org.springframework.web.bind.annotation.RequestMethod;
    12 
    13 import com.alphajuns.domain.Book;
    14 
    15 @Controller
    16 public class TestController {
    17 
    18     @RequestMapping(value="/forEachTest", method=RequestMethod.GET)
    19     public String registerForm(Model model) {
    20         // 页面用于遍历的List集合
    21         List<String> strList = new ArrayList<String>();
    22         strList.add("JavaEE");
    23         strList.add("Mybatis");
    24         strList.add("Spring");
    25         // 页面用于遍历的List集合
    26         List<Book> bookList = new ArrayList<Book>();
    27         bookList.add(new Book(1, "Spring实战", "Craig Walls"));
    28         bookList.add(new Book(2, "疯狂Java讲义", "李刚"));
    29         bookList.add(new Book(3, "通信原理", "樊昌信"));
    30         bookList.add(new Book(4, "计算机网络", "谢希仁"));
    31         bookList.add(new Book(5, "现代交换原理", "吕瑞宏"));
    32         // 定义map
    33         Map<Integer, Book> bookMap = new HashMap<Integer, Book>();
    34         bookMap.put(1, new Book(1, "C语言程序设计", "谭浩强"));
    35         bookMap.put(2, new Book(2, "数据结构", "严蔚敏"));
    36         bookMap.put(3, new Book(3, "模拟电子技术", "童诗白"));
    37         model.addAttribute("strList", strList);
    38         model.addAttribute("bookList", bookList);
    39         model.addAttribute("bookMap", bookMap);
    40         return "forEachTest";
    41     }
    42     
    43 }
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
     4 <!DOCTYPE html>
     5 <html>
     6 <head>
     7 <meta charset="UTF-8">
     8 <title>Insert title here</title>
     9 </head>
    10 <body>
    11     <font color="red">普通循环</font>
    12     <table width="400" border="1px" cellspacing="0" cellpadding="0">
    13         <tr>
    14             <td>index</td><td>count</td><td>isFirst</td><td>isLast</td>
    15         </tr>
    16         <c:forEach begin="1" end="5" step="2" varStatus="vs">
    17             <tr>
    18                 <td>${vs.index }</td>
    19                 <td>${vs.count }</td>
    20                 <td>${vs.first }</td>
    21                 <td>${vs.last }</td>
    22             </tr>
    23         </c:forEach>
    24     </table>
    25     <br>
    26     
    27     <font color="red">遍历元素为String的List集合</font>
    28     <table width="400" border="1px" cellspacing="0" cellpadding="0">
    29         <tr>
    30             <td>编号</td><td>书名</td><td>作者</td>
    31         </tr>
    32         <c:forEach items="${requestScope.bookList }" var="book">
    33             <tr>
    34                 <td>${book.id }</td>
    35                 <td>${book.name }</td>
    36                 <td>${book.author }</td>
    37             </tr>
    38         </c:forEach>
    39     </table>
    40     <br>
    41     
    42     <font color="red">遍历Map集合</font>
    43     <table width="400" border="1px" cellspacing="0" cellpadding="0">
    44         <tr>
    45             <td>Key</td><td>编号</td><td>书名</td><td>作者</td>
    46         </tr>
    47         <c:forEach items="${requestScope.bookMap }" var="entry">
    48             <tr>
    49                 <td>${entry.key }</td>
    50                 <td>${entry.value.id }</td>
    51                 <td>${entry.value.name }</td>
    52                 <td>${entry.value.author }</td>
    53             </tr>
    54         </c:forEach>
    55     </table>
    56 </body>
    57 </html>

     

  • 相关阅读:
    Moodle的安装和登陆(使用Https)
    Moodle 3.4中添加小组、大组、群
    【转】moodle中年级、班级、小组研讨
    函数式接口
    java实现数据库连接池
    转载---jboss简单使用
    转载---数据库优化方案
    转载---虚拟机类加载机制
    java中的hashcode
    父子类静态代码块,非静态代码块,有参,无参构造方法等的执行顺序问题
  • 原文地址:https://www.cnblogs.com/alphajuns/p/11062050.html
Copyright © 2020-2023  润新知