JSP技术

三、JSP指令

1、page指令

在JSP页面中,经常需要对页面的某些特性进行描述,例如,页面的编码方式,JSP页面采用的语言等,这些特性的描述可以通过page指令实现。page指令的具体语法格式如下所示:

<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%>

page用于声明指令名称,属性用来指定JSP页面的某些特性。page指令还提供了一系列与JSP页面相关的属性。

2、include指令

在实际开发时,有时需要在JSP页面中包含另一个JSP页面,这时,可以通过include指令实现,include指令的具体语法格式如下所示:

<%@ include file="被包含的文件地址"%>

include指令只有一个file属性,用于指定要包含文件的路径。需要注意的是,插入文件的路径一般不以“/”开头,而是使用相对路径。

关于include指令的具体应用,有很多问题需要注意,下面介绍几个常见的问题:

(1)被引入的文件必须遵循JSP语法,其中的内容可以包含静态HTML、JSP脚本元素和JSP指令等普通JSP页面所具有的一切内容。

(2)除了指令元素之外,被引入的文件中的其他元素都被转换成相应的Java源代码,然后插入进当前JSP页面所翻译成的Servlet源文件中,插入位置与include指令在当前JSP页面中的位置保持一致。

(3)file属性的设置值必须使用相对路径,如果以“/”开头,表示相对于当前Web应用程序的根目录(注意不是站点根目录);否则,表示相对于当前文件。需要注意的是,这里的file属性指定的相对路径是相对于文件(file),而不是相对于页面(page)。

(4)在应用include指令进行文件包含时,为了使整个页面的层次结构不发生冲突,建议在被包含页面中将<html>,<body>等标签删除,因为在包含页面的文件中已经指定了这些标签。

3、taglib指令

在JSP文件中,可以通过taglib指令标识该页面中所使用的标签库,同时引用标签库,并指定标签的前缀。在页面中引用标签库后,就可以通过前缀来引用标签库中的标签。taglib指令的具体语法格式如下:

<%@ taglib prefix="tagPrefix" uri="tagURI" %>

prefix:用于指定标签的前缀,该前缀不能命名为jsp、jspx、java、sun、servlet和sunw。 uri:用于指定标签库文件的存放位置。 在页面中引用JSTL中的核心标签库,示例代码如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

四、JSP动作元素

1、包含文件元素<jsp:include>

在JSP页面中,<jsp:include>动作元素用于向当前页面引入其他的文件,被引入的文件可以是动态文件,也可以是静态文件。<jsp:include>动作元素的具体语法格式如下所示:

<jsp:include page="URL" flush="true|false" />

page:用于指定被引入文件的相对路径。例如,指定属性值为top.jsp,则表示将当前JSP文件相同文件夹下的top.jsp文件引入到当前JSP页面中。 flush:用于指定是否将当前页面的输出内容刷新到客户端,默认情况下,flush属性的值为false。

<jsp:include>包含的原理是将被包含页面编译处理后的结果包含在当前页面中。例如,在页面1中使用<jsp:include>元素包含了页面2,当浏览器第一次请求页面1时,Web容器首先会编译页面2,然后将编译处理后的返回结果包含在页面1中,之后编译页面1,最后将两个页面组合的结果回应给浏览器。例子:

在dynamicInclude.jsp页面引入included.jsp页面。included.jsp作为被引入的文件,让它暂停5秒钟后再输出内容,这样,可以方便测试<jsp:include>元素的flush属性。

在IDEA中启动Tomcat服务器,使用浏览器访问地址“http://localhost:8080/chapter06/dynamicInclude.jsp”后,发现浏览器首先会显示dynamicInclude.jsp页面中的输出内容,等待5秒后,才会显示included.jsp页面的输出内容。说明被引用的资源included.jsp在当前JSP页面输出内容后才被调用。

2、请求转发元素<jsp:forward>

<jsp:forward>动作元素可以将当前请求转发到其他Web资源(HTML页面、JSP页面和Servlet等),执行请求转发之后,当前页面将不再执行,而是执行该元素指定的目标页面。<jsp:forward>具体语法格式如下所示:

<jsp:forward page="relativeURL" />

page属性用于指定请求转发到的资源的相对路径,该路径的目标文件必须是当前应用中的内部资源。

  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值