JSP-JSTL学习

<%@page import="com.Student"%>
<%@page import="com.Person"%>
<%@page import="sun.security.provider.MD2"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="person" class="com.Person"></jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>


  </head>
  
  <body>
  <h3>set赋值取值的四种方式</h3>
      <c:set value="张三" var="name1" scope="session"></c:set>
      <c:set var="name2" scope="session">李四</c:set>
      <c:set value="赵五" target="${person}" property="name"></c:set>
      <c:set target="${person}" property="age">19</c:set>
      <li>从session中得到的值:${sessionScope.name1}</li>
      <li>从session中得到的值:${sessionScope.name2}</li>
      <li>从Bean中获取对象person的name值:<c:out value="${person.name}"></c:out></li>
      <li>从Bean中获取对象person的age值:<c:out value="${person.age}"></c:out></li> 
      <hr>
  
  
  <h3>set与bean进行赋值取值</h3>
      <c:set value="赵五" target="${person}" property="name"></c:set>
      <c:set target="${person}" property="age">19</c:set>
      <c:if test="${person.name == '赵武'}" var="name1"></c:if>
          <c:out value="name1的值:${name1}"></c:out><br/>
      <c:if test="${person.name == '赵五'}" var="name2"></c:if>
          <c:out value="name2的值:${name2}"></c:out>
      <hr>
    
    
    <h3>判断的使用</h3>
       <c:set var="score">65</c:set>
    <c:choose>
        <c:when test="${score>=90}">
                你的成绩为优秀!
        </c:when>
        <c:when test="${score>=70&&score<90}">
            您的成绩为良好!
        </c:when>
        <c:when test="${score>60&&score<70}">
            您的成绩为及格
        </c:when>
        <c:otherwise>
            对不起,您没有通过考试!
        </c:otherwise>
    </c:choose>
     <hr>
  
  <h3>foreach遍历集合</h3>
  <%
      List list = new ArrayList();
      list.add("aaa");
      list.add("bbb");
      list.add("ccc");
      list.add("ddd");
      list.add("eee");
      request.setAttribute("req", list);
   %>
   <c:forEach var="name" items="${req}">
           <c:out value="${name}"></c:out><br/>
   </c:forEach>
   <hr>
   
   
  
      <c:forEach var="name" items="${req}" begin="1" end="4" step="1">
           <c:out value="${name}"></c:out><br/>
       </c:forEach>
       <hr>
       
       
       <c:forEach var="name" items="${req}" begin="1" end="30" step="1" varStatus="s">
        <c:out value="${name}"></c:out><br/>
        所在位置:<c:out value="${s.index}"></c:out><br/>
        总共已迭代的次数<c:out value="${s.count}"></c:out><br/>
        是否为第一个位置:<c:out value="${s.first}"></c:out><br/>
        是否为最后一个位置:<c:out value="${s.last}"></c:out><br/>       
       </c:forEach>
       <hr>
             
       <c:forTokens var="t" items="1,2,3,4,5,6,7" delims=",">
           <c:out value="${t}"></c:out><br/>
       </c:forTokens>      
       <hr>    
       <h3>import文件路径的导入</h3>
       <c:catch var="error01">
           <c:import url="http://www.baidu.com"></c:import>
       </c:catch>
       <c:out value="${error01 }"></c:out>
    <hr>
       
       <c:catch var="error02">
           <c:import url="01.txt" charEncoding="gbk"></c:import>
       </c:catch>
       <hr>
       
        <c:catch var="error3">
             <c:import var="myurl" url="01.txt" scope="session" charEncoding="gbk"></c:import>
             <c:out value="${myurl}"></c:out>
             <c:out value="${myurl}" />
         </c:catch>
     <c:out value="${error3}"></c:out>
     <hr/>
     <h3>时间段的判断</h3>
     <jsp:useBean id="now" class="java.util.Date"></jsp:useBean>
     <c:choose>
         <c:when test="${now.hours>=0 && now.hours<5}">凌晨好</c:when>
         <c:when test="${now.hours>=5 && now.hours<8}">早上好</c:when>
         <c:when test="${now.hours>=8 && now.hours<11}">上午好</c:when>
         <c:when test="${now.hours>11 && now.hours<13}">中午好</c:when>
         <c:when test="${now.hours>=13 && now.hours<17}">下午好</c:when>
         <c:otherwise>晚上好</c:otherwise>
     </c:choose>
     现在的时间是:${now.hours}时${now.minutes}分${now.seconds}秒
       <hr/>
       <h3>登录记录</h3>
       <c:choose>
       <c:when test="${empty sessionScope.user}">
           <form action="deal.jsp" method="post" name="form1">
               <ul>
                <li>用户昵称:<input name="user" type="text" id="user" /></li>
                <li>密  码:<input name="pwd" type="password" id="pwd" /></li>
                <li><input name="Submit" type="submit" value="登录" />&nbsp;
                <input name="Submit2" type="reset" value="重置" /></li>
                </ul>
           </form>       
       </c:when>
       <c:otherwise>
           欢迎${sessionScope.user}[<a href="logout.jsp">退出</a>]
       </c:otherwise>
       </c:choose>
       <hr/>
       <h3>异常的捕获与打印</h3>
       <c:catch var="exception">
           <%
               int num = Integer.valueOf(request.getParameter("name"));
               out.print(num);
               
            %>
       </c:catch>
       <c:out value="${exception}"></c:out>
       <hr>
       
       <c:url var="path" value="register.jsp" scope="page">
           <c:param name="user" value="mr"></c:param>
           <c:param name="email" value="wert"></c:param>
       </c:url>
    <a href="${pageScope.path}">提交</a>
    <hr>
    
    
    <%Random random = new Random(); %>
    <c:set var="luck">
        <%=random.nextInt(10) %>
    </c:set>
    <c:choose>
        <c:when test="${luck==6}">恭喜你,中了一等奖!</c:when>
        <c:when test="${day==7}" >恭喜你,中了二等奖!</c:when>
        <c:when test="${day==8}">恭喜你,中了三等奖!</c:when>
        <c:otherwise>谢谢您的参与!</c:otherwise>
    </c:choose>
    <hr>
    <%
        int[] ages = { 1, 2, 3, 4, 5 }; 
        
        List<String> list2 = new ArrayList<String>();
        list2.add("12345");
        list2.add("12365");
        list2.add("12385");
        list2.add("12325"); 
        request.setAttribute("list", list2); 
        
        Set<String> set = new TreeSet<String>(); // Set  
        set.add("One");  
        set.add("One");  
        set.add("Two");  
        set.add("Three");  
        set.add("Set");  
        
        Map<String, String> map = new HashMap<String, String>(); // Map  
        map.put("1", "黄彪");  
        map.put("2", "丫头");  
        map.put("3", "哥哥");  
        map.put("4", "笨蛋");
        
        List<Student> list3 = new ArrayList<Student>();
        list3.add(new Student("1111",11));
        list3.add(new Student("43",14));
        list3.add(new Student("143411",16));
        list3.add(new Student("6765",12));
        
     %>
     
     c:forEach遍历数组集合
    <br/>  
    <c:forEach var="age" items="<%= ages %>">  
        <c:out value="${age}" />  
    </c:forEach>
    <br/>
    c:forEach遍历List集合
    <br/>
    <c:forEach items="${requestScope.list}" var="keyword" varStatus="id">
        ${id.index}----${keyword}<br/>  
    </c:forEach>
    
    
    c:forEach遍历Set集合
    <br/>  
    <c:forEach var="entry" items="<%= set %>">  
        <c:out value="${entry}" />  
    </c:forEach> 
    <br/> 
    c:forEach遍历Map集合
    <br/>  
    <c:forEach var="entry" items="<%= map %>">  
        <c:out value="${entry.key}"/>---<c:out value="${entry.value}"/> <br/> 
    </c:forEach>   
    <br/>
    c:forEach遍历List对象集合
    <br/>
    <c:forEach var="info" items="<%=list3 %>">
        <c:out value="${info.name }"></c:out>----<c:out value="${info.age }"></c:out><br/>
    </c:forEach>
    <br/>
  </body>
</html>
package com;


public class Student {

    private String name;
    private int age;
    public Student(String name,int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}
原文地址:https://www.cnblogs.com/huanglufei/p/5749634.html