forEach标签的使用

说到标签之前,首先得了解什么是EL和JSTL,EL(Expression Language)和(JSP Standard Tag Library,JSP标准标签库)两者的使用,可以尽可能简化jsp页面,减少Java代码

EL的基本语法 

${EL 表达式},点操作符,EL表达式通常由两部分组成:对象和属性,在EL表达式中,可以使用点操作符来访问对象的属性,比如${user.id}

还有一种就是[]操作符,例如${user.id}可以写成${user["id"]},当要存取的属性名称中包含一些特殊字符,如 " ." 或 " -",

等非字母或数字的符号时,就要使用[ ]操作符。 例如${user.my.id}应当改为${user[my.id]}。当动态取值时,需要用[ ]

操作符来操作,而点操作符无法做到动态取值,例如在${sessionScope.user[index]}中,index是一个变量。

EL隐式对象

在JSP中,提供了九大内置对象(也可以成为隐式对象)供开发人员无需声明直接使用,而EL表达式提供了11个,

分为三类

1.与范围有关的隐式对象,包括pageScope(本页面)、requestScope(浏览器向客户端发送的请求以及相关页面)、sessionScope(浏览器关闭之前或者访问时间之内所有的页面)、applicationScope(该系统下所有客户端共享)

2.与输入有关的隐式对象,包括param、paramValues、initParam、cookie、header、headerValues对象、

3.JSP隐式对象,即pageContext对象。


与输入有关的隐式对象

有了隐式对象后,不再使用request.getParameter()方法和request.getParameterValues()方法,是通过请求的name(get或者表单)来的,而直接使用EL表达式获得请求参数,,重点介绍param和paramValues,
${param.name}表示表单提交的name等于name的文本框里的值
而${paramValues.like[0]}则是获取表单checkbox name等于like的第一个元素的值,由于时间不够,有时间来补充,暂且写到这里
下面开始写如何使用JSTL里的foreach标签,搭建环境就不说了,直接上例子,foreach是一个循环标签,类似于java里的for,里面的变量相当于一个局部变量,除了foreach就无法使用,item表示一个集合,var表示每次遍历的对象,
varStatus表示遍历的状态,其中current:当前这次迭代的(集合)项,index:当前这次迭代从0开始的迭代索引,
count:当前这次迭代从1开始的迭代计数,first:用来标明当前这轮迭代是否为第一次迭代的标志,last:用来标明当前这轮迭代的标志,begin:返回begin属性值,end:返回end属性值, step:返回step属性值。


<%@ page  pageEncoding="utf-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>                             


<!DOCTYPE HTML >
<html>
  <head>
    
    <title>/WEB-INF/jsproot/course/CourseList.jsp</title>
  </head>
  
  <body>springmvc+mybatis列表展示<hr>
    <form action="" method="get">
      <table border="1">
         <tr>
            <td  width="100">序号</td>
            <td  width="100">课程Id</td>
            <td  width="100">学期</td>
            <td  width="100">课程名</td>
            <td  width="100">课程教材</td>
         </tr>
         <c:forEach items="${list}" var="p" varStatus="st">
              <tr>
             <td>${st.index+1} </td>
              <td>${p.id} </td>
              <td> ${ p.semester}</td>
              <td>${ p.courseName}</td>
              <td> ${ p.courseBook}</td>
              
              
              </tr>
         
         </c:forEach>
     
         <tr>
            <td align="center" colspan="5">
               <button type="submit">提交保存</button>
            </td>
         </tr>     
      </table>
    
    
    </form>
  </body>

</html>

以后再补充

猜你喜欢

转载自blog.csdn.net/qq_34520606/article/details/78608630
今日推荐