您的位置:首页 > Web前端 > JavaScript

JSP基本指令

2015-11-23 10:21 295 查看

JSP简介

1.1 JSP 4种基本语法

注释

<!-- HMTL注释  -->
<%-- JSP注释,不会被发到浏览器端  --%>


声明

<%! 声明变量和方法  %>


输出表达式

<%=  表达式,注意没有分号  %>


JSP脚本

<%  Java代码   %>


1.2 编译指令

编译指令的语法:
<%@ 指令名 属性名="属性值" .. %>


page指令

import属性:page指令中唯一容许在同一文档出现多次的属性。属性的值以逗号隔开。指定jsp页面转换成servlet应该输入的包。也就是说用来导入包。

language属性:

用于指定在脚本元素中使用的脚本语言,默认java。在jsp2.0规范中,只能是java。

contentType和pageEncodeing属性:

contentType属性设置发送到客户端文档的响应报头的MIME类型和字符编码,多个使用;号分开。pageEncodeing属性只用于更改字符编码。

servlet默认MIME是text/plain,jsp默认MIME是text/html。

session属性:控制页面是否参与会话

默认true。 对于高流量网站,设置false可以节省大量服务器内存。

设置false表示不自动创建新会话,在jsp页面转换为servlet时,这时对变量session的访问导致错误。

设置为false并不是禁用会话跟踪,它只是阻止jsp页面为不拥有会话的用户创建新会话。

对于不需要会话跟踪的页面那就设置为false;当设置为false时session对象是不可访问的。

isELlgnored属性:

定义在jsp页面中是否执行或忽略EL表达式。true表示忽略,false表示执行。

默认值依赖于web.xml的版本。

buffer和autoFlush属性:

buffer属性指定out对象(JspWriter)使用的缓冲区大小,以Kb为单位,默认8KB。none表示不使用缓冲区。

autoFlush属性控制当缓冲区满了后,是自动清空输出缓冲区(默认true),还是在缓冲区溢出后抛出异常(false)。

info属性:

定义一个可以在servlet中通过getServletInfo方法获取的字符串。

errorPage和isErrorPage属性:指定页面专用的错误页面。

errorPage属性用来指定一个jsp页面,由该页面来处理当前页面中抛出但没有捕获的任何异常。指定的页面可以通过exception变量访问异常信息。只能够在错误处理页面中使用错误对象exception。错误页面应该放在WEB-INF目录下面,只让服务器访问,也不会生成转发的调用,客户端只能看到最初的请求页面URL,看不到错误页面的URL。

isErrorPage属性表示当前页是否可以作为其他jsp页面的错误页面。true或false。

isThreadSafe属性:采用显式的同步来代替该方法。

控制由jsp页面生成的servlet是否允许并发访问(默认true允许)。

extends属性:避免使用。 指定JSP页面生成的servlet的超类。

include指令

基本语法:
<%@ include file="relativeURLSpec" %>


将页面融合进来,形成一个页面。源代码会合并。

因为原文件和被包含文件可以互相访问彼此定义的变量和方法,所以要避免变量和方法在命名上的问题。

1.3 7个动作指令

forward指令

将页面响应转发到另外的页面。

如果有参数,会当做请求发出去。

原地址栏不会改变

forward转发请求时,客户端的请求参数不会丢失

forward并没有重新向新页面发送请求

依然是一次请求

完全替换原来页面的内容

1. <jsp:forward page="{relativeURLI<%=expression%>}"/>
2. <jsp:forward page="{relativeURL|<%=expression%>}">
{jsp:param..../>}
</jsp:forward>


include指令

仅仅将被导入页面的body内容插入本页面。

动态导入只是使用一个include方法来插入目标页面的内容。

原始地址栏不变

1. <jsp:include page="{relativeURLI<%=expression%>}" flush=true"/>
2. <jsp:include page="{relativeURLI<%=expression%>}" flush="true"
<jsp:param name="parameterName" value="patameterValue"l>
</jsp:include>


userBean, setProperty, getProperty指令

userBean用于在JSP页面中初始化一个Java实例,setProperty用于为JavaBean实例的属性设置值;getProperty用于输出JavaBean实例的属性值。

<jsp:useBean id="name" class="classname" scope="pageIrequestIsessionI
application"/>
id 属性是JavaBean的实例名, class属性确定JavaBean的实现类。
其中 scope属性用于确定JavaBean实例的生存范围,该范围有以下四个值。
page: 该 JavaBean 实例仅在该页面有效。
request: 该 JavaBean 实例在本次请求有效。
session: 该 JavaBean 实例在本次 session 内有效。
application: 该 JavaBean 实例在本应用内一直有效。

<jsp:setProperty name="BeanName" proterty="propertyName" value="value"/>
其中 name 属性确定需要设定JavaBean 的实例名; property属性确定需要设置的属性名; value属性则确定需要设置的属性值。

<jsp:setProperty name="BeanName" proterty="propertyName" />

其中 name'属性确定需要输出的JavaBean 的实例名; property属性确定需要输出的属性名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: