JSP 自我学习笔记2
一 .学习目标
主要学习jsp中的jsp:include,jsp:forward,jsp:param
二 .讲解内容
jsp:include动作
jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的 结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面, 将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页 面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。
语法:<jsp:include page="sample.jsp" flush="true"> <jsp:param name="name" value="value"/> </jsp:include>
其中参数设置可以没有,如果没有参数设置,则必须采用
<jsp:include page="sample.jsp" flush="true"/>
jsp:forward动作
用于将一个jsp的内容传送到page所指定的JSP程序或者Servlet中处理(URL)。
标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象.标签以下的代码,将不能执行。
你能够向目标文件传送参数和值,在这个例子中我们传递的参数名为username,值为scott,如果你使用了标签的话,目标文件必须是一个动态的文件,能够处理参数。
如果你使用了非缓冲输出的话,那么使用时就要小心。如果在你使用之前,jsp文件已经有了数据,那么文件执行就会出错。
forward属于服务器端跳转。
语法:<jsp:forward page={"relativeURL" | "<%= expression %>"} />
或者
<jsp:forward page={"relativeURL" | "<%= expression %>"} >
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+
</jsp:forward>
3.jsp:param动作
操作被用来以“名-值”对的形式为其他标签提供附加信息。它和 jsp:include , jsp:forward , jsp:plugin 一起使用。
语法:
<jsp:param name="paramName" value="paramValue"/>
其中,name为与属性相关联的关键词,value为属性的值。
三 . 注意事项
<@ include >与 区别
1.include指令
include可以在JSP页面转换成Servlet之前,将JSP代码插入其中。它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要