inclue指令 jsp动作与jsp指令区别

include指令用于通知JSP引擎在翻译当前JSP页面时将其他文件中的内容合并进当前JSP页面转换成的Servlet源文件中,这种在源文件级别进行引入的方式称之为静态引入,当前JSP页面与静态引入的文件紧密结合为一个Servlet。这些文件可以是JSP页面、HTML页面、文本文件或是一段Java代码。

说明:

1.file属性指定被包含的文件,不支持任何表达式,例如下面的错误用法:

<% String f =“top.html” %>

<%@ include file = “<%= f%>” %>

2.不可以在file所指定的文件后接任何参数,如下用法也是错误的:

<%@ include file = "top.jsp?name=zyf"%>

3.如果file属性值以“/”开头,将在当前应用程序的根目录下查找文件;如果是以文件名或文件夹名开头,将在当前页面所在的目录下查找文件。


JSP动作的通用格式如下:

<jsp:动作名 属性1="属性值1"…属性n="属性值n"/>

或者:

<jsp:动作名 属性1="属性值1"…属性n="属性值n">相关内容</jsp:动作名>

JSP中常用的动作包括<jsp:include>、<jsp:param>、<jsp:forward>、<jsp:plugin>、<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>。

<jsp:include>动作标记用于把另外一个文件的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入,这样主页面程序与被包含文件是彼此独立的,互不影响。被包含的文件可以是一个动态文件(JSP文件),也可以是一个静态文件(如文本文件)。

•include动作标记语法如下:

<jsp:include page="relativeURL | <%= expression%>"/>


<jsp:include>动作和前面讲解的include指令作用类似,现将它们之间的差异总结如下:

1.属性不同

include指令通过file属性来指定被包含的页面,该属性不支持任何表达式。

<jsp:include>动作是通过page属性来指定被包含的页面,该属性支持JSP表达式。

2.处理方式不同

使用include指令被包含的文件,它的内容会原封不动地插入到包含页中使用该指令的位置,然后JSP编译器再对这个合成的文件进行翻译。所以最终编译后的文件只有一个。

使用<jsp:include>动作包含文件时,只有当该标记被执行时,程序才会将请求转发到被包含的页面,再将其执行结果输出到浏览器中,然后重新返回到包含页来继续执行后面的代码。


3.包含方式不同

include指令的包含过程为静态包含<jsp:include>动作的包含过程为动态包含,通常被用来包含那些经常需要改动的文件。

4.对被包含文件的约定不同

使用include指令包含文件时,对被包含文件有约定,如:被包含的文件中不能使用“<html></html>”,“<body></body>”标记;被包含文件要避免变量和方法在命名上与主文件的冲突问题。


param动作标记

当使用<jsp:include>动作标记引入的是一个能动态执行的程序时,例如Servlet或JSP页面,那么,可以通过使用<jsp:param>动作标记向这个程序传递参数信息。

param动作标记

其语法格式如下:

<jsp:includepage="relativeURL| <%=expression%>">

<jsp:paramname="pName1" value="pValue1 | <%= expression1 %>"/>

<jsp:paramname="pName2" value="pValue2 | <%= expression2 %>"/>

……

</jsp:include>

forward动作标记

v<jsp:forward>动作标记就可以实现页面的跳转,用来将请求转发到另外一个JSP、HTML或相关的资源文件中。

其语法格式如下:

<jsp:forwardpage="relativeURL"|"<%=expression %>"/>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟叮咚糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值