JSP 教程 在线

2114jstl-core-foreach-tag

c:forEach varStatus 属性

  • current: 当前这次迭代的(集合中的)项
  • index: 当前这次迭代从 0 开始的迭代索引
  • count: 当前这次迭代从 1 开始的迭代计数
  • first: 用来表明当前这轮迭代是否为第一次迭代的标志
  • last: 用来表明当前这轮迭代是否为最后一次迭代的标志
  • begin: 属性值
  • end: 属性值
  • step: 属性值

例如:

<c:foreach  items="${sessionScope.userList}"  var="userItem"  begin="1"  end="10"  step="3"  varStatus="userStatus"> XXX </c:foreach>

实例解读: 对 session 对象存储的 userList 集合对象进行遍历,每次访问的项暂时存储在 userItem 变量中,从索引 1 开始至索引 10 进行访问,但不是依次访问,每隔 3 个元素访问一次。每次访问项的状态相关值由 userStatus 对象暂存。

<c:foreach> 的 varStatus 属性暂存项的相关状态属性,可由 EL 表达式引用。

${userStatus.index} 此项的索引,从0开始 
${userStatus.count} 此项的计数序号,从1开始 
${userStatus.first} 此项是否是第一项,布尔值 
${userStatus.last} 此项是否是最后一项,布尔值 
${userStatus.begin} 此次迭代的起始索引,对应<c:foreach>中begin属性值 
${userStatus.end} 此次迭代的终止索引,对应<c:foreach>中end属性值 
${userStatus.step} 此次迭代的跳跃步伐,对应<c:foreach>中step属性值  

2113jstl-core-if-tag

模拟 if-else

<c:if test="${salary > 2000}" var="flag" scope="session">
   <p>我的工资为: <c:out value="${salary}"/><p>
</c:if>
<c:if test="${not flag}">
   <p>我的工资为: <c:out value="${salary}"/><p>
</c:if>

2112jstl-core-set-tag

1. scope 的作用域大小依次为:

application > session > request > page(默认)

2. jsp 处理变量的作用域先后依次为:

page(默认) -> request -> session -> application

2111JSP 连接数据库

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

确认包已经被导入 web 工程目录。

原来是 tomcat 找不到 MYSQL JAR 包的问题。后来又把 mysql-connector-java-5.1.7-bin.jar 导入到 tomcat 的 lib 目录下面就ok了,嘿……

在 java 项目中,只需要引入 mysql-connector-java-5.1.7-bin.jar 就可以运行 java 项目。

在 web 项目中,当 Class.forName("om.mysql.jdbc.Driver"); 时 myeclipse 是不会去查找字符串,不会去查找驱动的。所以只需要把 mysql-connector-java-5.1.7-bin.jar 拷贝到 tomcat 下 lib 目录就可以了。

2110jsp-jstl

JSTL 1.1 与 JSTL 1.2 之间的区别?如何下载 JSTL 1.2?

JSTL 1.2 中不要求 standard.jar 包。

您可以在 Maven 中央仓库中找到它们。

http://repo2.maven.org/maven2/javax/servlet/jstl/

http://repo2.maven.org/maven2/taglibs/standard/

由于JSTL 1.1已经过时,Apache已将其置于存档中。选择jakarta-taglibs-standard-current.zip文件。但是,如果您正在运行Servlet 2.5兼容容器并且web.xml声明为至少Servlet 2.5,那么您应该能够使用新的JSTL 1.2。需要注意的是JSTL 1.2并没有要求standard.jar