jsp基础知识总结

来源:互联网 发布:java飞机大战子弹移动 编辑:程序博客网 时间:2024/05/18 03:30
JSP脚本元素主要包括三种类型:
JSP Scirpitlets
JSP 声明语句
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属性用于指定迭代的步长,即迭代因子的增量.