JSP动作元素
1、 动作元素分类
用来动态的包含文件、网页跳转及使用JavaBean组件等。
语法:<jsp:XXX />或者<jsp:XXX></jsp:XXX>
第一类是与存取JavaBean有关的,包括<jsp:useBean>、<jsp:setProperty> <jsp:getProperty>
第二类是基本动作元素,包括<jsp:include>、<jsp:forward>、<jsp:param>、<jsp:plugin>、<jsp:params>、<jsp:fallback>
第三类是主要与JSP document有关,包括如下几个动作元素,<jsp:root>、<jsp:declaration>、<jsp:scriptlet>、<jsp:expression>、<jsp:text>、<jsp:output>
第四类主要用来动态的生成xml元素标签的值,包括<jsp:attribute>、<jsp:body>、<jsp:element>
第五类主要用于Tag File,包括<jsp:invoke>、<jsp:doBody>
2、<jsp:include>动作元素
语法格式<jsp:include page=”包含文件url地址” flush=”true|false” >
属性page用来指定包含文件的url地址,属性flush用来指定缓冲区满时,是否进行清空。
如果包含的文件为静态文件,那么就是单纯的加到JSP页面中,不会进行任何处理;如果被包含的文件为动态的文件,那么会先进行处理,再将处理的结果加到JSP页面。
3、<jsp:forward>动作元素
用来转移用户的请求,使得用户请求的页面跳转到另一个页面。这种跳转为服务器端跳转,所以用户的地址栏不会发生任何变化。语法格式如下:
<jsp:forward page=”跳转文件URL地址”>
4、<jsp:param>动作元素
用来传递参数,一般与<jsp:include>、<jsp:forward>联合使用,其语法格式如下:
<jsp:param name=”参数名” value=”参数值”/>
5、<jsp:plugin>动作元素
用来在JSP中嵌入Java插件,如Applet。语法格式如下:
<jsp:plugin
Type=”bean | applet”
name=”Applet name”
code=”Java class name”
codebase=”Javal class Cat”
align=”对齐方式”
height=”高度”
width=”宽度”
hspace=”水平间距”
vspace=”垂直间距”
archive=”预先加载的类列表”
jreversion=”JRE版本”
iepluginurl=”url”
nspluginurl=”url”>
</jsp:plugin>
6、<jsp:params>动作元素
用来给Bean或Applet传递参数,一般为多个参数。
<jsp:params>
<jsp:param name=”” value=””/>
<jsp:param name=”” value=””/>
</jsp:params>
7、<jsp:fallback>动作元素
用来指定当浏览器不支持或无法启动Bean或Applet时,在页面上打印输出错误提示信息。其语法格式如下:
<jsp:fallback>错误信息</jsp:fallback>
JSP内置对象
9种内置对象,可以直接引用,不用进行显式的声明。
与Servlet有关的内置对象,包括page和config两个对象。
与Input/Output有关的内置对象,包括out、request和response三个对象。
与Context有关的内置对象,包括session、application和pageContext三个对象。
与Error有关的内置对象,仅包括exception这一个对象。
1、属性保存范围
1)page范围,指设置的属性只在当前页面有效。通过使用pageContext的setAttribute()方法来设置属性,并通过pageContext的个体Attribute()方法来取得属性。
2)request范围,指属性在一次请求范围内有效。如果页面从一个页面跳转到另一个页面,那么该属性就失效了。这里的跳转指客户端跳转。通过使用request的setAtrribute()方法来设置属性,并通过request的getAttribute()方法来取得属性。
3)sessiion范围,指客户浏览器与服务器一次会话范围内,如果和服务器断开连接,那么这个属性也就失效了。通过使用session的setAtrribute()方法来设置属性,并通过session的getAttribute()方法来取得属性。
4)application范围,指在整个服务器范围,直到服务器停止以后才会失效。通过通过使用application的setAtrribute()方法来设置属性,并通过application的getAttribute()方法来取得属性。
2、 移除属性
只需调用相应对象的removeAttribute()方法就可以移除指定属性。
3、 request对象
不但可以用来设置和取得request范围变量,还可以用来获得客户端请求参数、请求的来源、表头、cookies等。
获得客户端请求参数,
getParameter(String name),获得参数名为name的参数值
/getParameterNames(),获得所有参数的名称
/getParameterValues(String name),获得参数名为name的所有参数
/getParameterMap(),获得所有参数封装的Map实例。
4、 response对象
可以用来给客户端传送输出信息。
addCookie(Cookie cookie),添加cookie
addDateHeader(String name, long date),添加一个标题名称为name标头,其值为日期类型。
addHeader(String name, String value),添加一个标题名称为name标头,其值为字符串类型。
addIntHeader(String name, Int value),添加一个标题名称为name标头,其值为整数类型。
setDateHeader(String name, long date),设置一个标题名称为name标头,其值为日期类型。
setHeader(String name, String value),设置一个标题名称为name标头,其值为字符串类型。
setIntHeader(String name, Int value),设置一个标题名称为name标头,其值为整数类型。
sendError(int sc),传递状态码
sendError(int sc, String msg),传送状态码和错误信息
setStatus(int sc),设置状态码
sendRedirect(URL),页面重定向,用来实现页面跳转。
5、 out对象
用来向网页输出信息
clear(),清楚网页上输出内容
clearBuffer(),清楚缓冲区内容
close(),关闭缓冲区,清楚所有内容
getBufferSize(),取得缓冲区大小
isAutoFlush(),获得缓冲区是否进行自动清除的信息
print(String str),进行页面输出
println(String str),进行页面输出并换行
6、 session对象
用来表示用户的会话状况,一边用于保存用户的各种信息,直到生命周期超时或者被释放掉为止。
getId(),获得session的ID
getCreationTime(),获得session生成的时间
getLastAccessedTime(),获得用户最后通过session发送请求时间
getMaxInactiveInterval,设置session生命周期,如果超过这个时间则失效。、
7、 application对象
用来取得和设置Servlet的相关信息。
getMajorVersion(),获得主要的Servlet API版本
getMinorVersion(),获得次要的Servlet API版本
getServerInfo(),获得服务器版本
getMimeType,获得指定文件的MIME类型
getContext,获得指定Local的Application context
getRealPath,获得指定path的绝对路径
JSP和JavaBean
1、 在JSP中调用JavaBean
语法格式为:
<jsp:useBean id=”对象名称” scope=”存储范围” class=”类名” ></jsp:useBean>
id属性表示该JavaBean实例化后的对象名称。scope属性用来指定该JavaBean的范围,也就是指JavaBean实例化后的对象存储范围。范围的取值为page、request、session和application。class属性用来指定JavaBean的类名,包括包名和类名。
2、 设置JavaBean属性
<jsp:setProperty name=”实例化对象名” property=”*” />
*表示按照表单传递的所有参数来设置JavaBean的属性。
<jsp:setProperty name=”实例化对象名” property=”属性名称” />
根据指定参数设置JavaBean属性。
<jsp:setProperty name=”实例化对象名” property=”属性名称” param=”参数名称” />
相比上面方法,可以通过其指定需要设置的JavaBean属性。
<jsp:setProperty name=”实例化对象名” property=”属性名称” value=”属性值” />
可以根据需要动态地设置JavaBean属性值。
EL表达式
EL即为Expression Language。
1、 算术运算符
${1+1} ${1-1} ${1*1} ${1/1} ${1%1}
2、 关系运算符
同样的,${表达式}。
关系运算符,==,!=,<,>,<=,>=。
3、 逻辑运算符,&&,||,!。
4、 条件运算符,${A?B:C}。