JSP中动作与指令的区别?

如题。如果觉得问的不够详细的话,请举个例子也可。谢谢。

  1、include指令
  include可以在JSP页面转换成Servlet之前,将JSP代码插入其中。它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。
  语法:<%@ include file="sample.jsp" %>
  2、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"/>形式
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-05
编译指令的Include也被称为静态包含,在include的file中引入的JSP文件。会原封不动的合成,并且只会加载一次。
动作指令的Include也被称为动态包含,在include的page中引入的JSP文件。会被JSP编译器加载两次,产生两个JSP文件。
第2个回答  2011-10-15
你好,用include举例吧。
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改。由于被包含的文件是在编译时才插入的,因此如果只修改了include文件内容,而没有对JSP修改,得到的结构将不会改变,所以直接执行已经存在的字节码文件,而没有重新编译。因此对不经常变化的内容,用include指令是合适的,

如果需要的内容是经常变化的,则需要动作元素<jsp:include>本回答被提问者采纳
第3个回答  2011-10-15
指令:
<%@include tile=""%>
该指令只是静态包含文件,不能为一个动态的地址,而且不带任何参数,服务器将对包含近来的文件进行编译。

动作:
<JSP:include page="">
可以包含静态或动态文件,包含静态文件时服务器不对包含的文件编译,而在包含动态文件时服务器会编译包含动态文件,会自动判断包含文件是动态还是静态。
与include指令不同,该动作元素在JSP页面被用户请求时,才将指定文件插入服务器的响应输出中。
第4个回答  2011-10-17
网上一搜,挺多的。总共有那么十几个。