JSP脚本元素主要包括三种类型: JSP Scirpitlets JSP 声明语句 JSP 表达式 1.JSP Scriptlets JSP Scriptlets是一段代码段. 语法格式:%java代码(变量,方法,语句等)% 在JSP Scirptlets中声明的变量时JSP页面的
1.JSP Scriptlets JSP Scriptlets是一段代码段. 语法格式:<%java代码(变量,方法,语句等)%> 在JSP Scirptlets中声明的变量时JSP页面的 局部变量.
2.JSP 声明语句 <%! %>里面定义的变量时 成员变量,方法是全局的方法. <% %>里面定义的是 局部变量,不能定义方法(java方法中不能再嵌套定义方法). 总之,<%! %>用来定义成员变量和方法,<% %>主要是用来输出内容. 一般<%! %>定义的成员变量和方法写在head里,<% %>输出的内容写在body里. jsp声明语句后面有分号
3.JSP表达式 用于将程序数据输出到客户端,它将要输出的变量或者表达式直接封装在<%= %>中, 语法格式: <%= expression %> jsp表达式后面没有分号,只能写一句. jsp用 <%= expression %>输出 表达式的值,效果和JSP声明语句中的out.println()相同.
JSP指令 JSP2.0中共定义了三种指令: page include taglib
page指令 对页面的某些特性进行描述 格式:<%@ page 属性1 = "属性值1" 属性名2 = "属性值2"...%>
include指令 在JSP页面静态包含一个文件-------------复制 格式:<%@ include file="被包含的文件地址"%> 动态包含<jsp:include page="a.jsp"/>,动态包含的元素是page--------------跳转
taglib指令 用于页面中引入标签库
JSP内置(隐式)对象 out 用于页面输出 request 得到用户请求信息 response 服务器向客户端的回应信息 config 服务器配置,可以取得初始化参数 session 用来保存用户信息 application 所有用户的共享信息 page 指当前页面转换后的servlet类的实例 pageContext JSP的页面容器,可以获取JSP的其他8个隐式对象 exception 表示JSP页面所发生的异常,在错误页中才起作用
EL -----------简化JSP页面的书写 EL(Expression Language),它是一种简单的数据访问语言.它提供了JSP中简化的表达式的方法,让JSP的代码更加简化. 语法格式:${表达式} 使用:获得数据
JSTL JSTL(JSP Standard Tag Library):JSP 标准标签库 使用:如果使用JSTL,必须将jstl.jar和standard.jar文件放到classpath中. 导包:<%@ taglib uri=" http://java.sun.com/jsp/jstl/core" prefix="c"%> Core标签库: if标签: 如果要在jsp页面中进行条件判断,就需要使用Core标签库提供的<c:if>标签,该标签专门用于完成JSP页面中的条件判断. 语法格式1:<c:if test="testCondition" var="result" {scope ="{page|request|session|application}"]/> 语法格式2: <c:if test="testCondition"> body content </c:if> <c:if>的三个属性: test属性用于设置逻辑表达式 var属性用于指定逻辑表达式中变量的名字 scope属性用于指定var变量的作用范围,默认值为page.如果属性test的计算结果为true,那么标签体将被执行,否则标签体不会执行. forEach标签 使用:专门用于迭代集合对象中的元素 语法格式1:迭代包含多个对象的集合 <c:forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="gegin"] [end="end"] [step="step"]> body content </c:forEach> 语法格式2:迭代指定范围内的集合 <c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]> body content </c:forEach> <c:forEach>标签的属性: 1.var属性用于指定将当前迭代到的元素保存到page域中的名称; 2.items属性用于指定将要迭代的集合对象 3.varStatus用于指定当前迭代状态信息的对象保存到page域中的名称; 4.begin属性用于指定从集合中第几个元素开始进行迭代,begin的索引值从0开始,如果没有指定items属性,就从begin指定的值开始迭代,直到迭代结束为止; 5.step属性用于指定迭代的步长,即迭代因子的增量.