jsp中两种包含语句的区别
7个回答
展开全部
<%@ include file=""%>指令在编写代码的时候一般放在最顶部,主要附加的是被重用的代码,这里所说的附加是指把源代码原封不动的附加过来,例如在jsp程序中使用这个指令的时候file里面的值(即要导入的文件)不能带多余的标签或是与当前jsp文件重复的东西。例如里面不要包含<html><body>这样的标签,因为是把源代码原封不动的附加过来,所以会与当前的jsp中的这样的标签重复导致出错。
而应用<jsp:include>标签导入一个重用文件的时候,这个文件是经过编译的,通俗点说就是附加这个要导入文件经过编译后的效果,所以可以含有与当前jsp程序中重复的内容,因为在附加过来之前就会被解析掉。
而应用<jsp:include>标签导入一个重用文件的时候,这个文件是经过编译的,通俗点说就是附加这个要导入文件经过编译后的效果,所以可以含有与当前jsp程序中重复的内容,因为在附加过来之前就会被解析掉。
参考资料: 如果您的回答是从其他地方引用,请表明出处
2016-01-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
下两种include的区别:
%@include file="uri"%
--静态的包含页面:不管其内容如何只是将页面中的内容包含进来。
--执行时:像将所有内容包含进来一起处理完之后再将所有的内容发送给客户端
<jsp:include page="uri">:
--动态包含页面:能自动区分所包含的是静态页面还是动态页面
---执行时:
如果资源为惊天资源则直接将资源包含处理与%@include file="uri"%相同
如果请求资源为动态,则先各自处理资源,之后将处理后的结果包含在一起。
%@include file="uri"%
--静态的包含页面:不管其内容如何只是将页面中的内容包含进来。
--执行时:像将所有内容包含进来一起处理完之后再将所有的内容发送给客户端
<jsp:include page="uri">:
--动态包含页面:能自动区分所包含的是静态页面还是动态页面
---执行时:
如果资源为惊天资源则直接将资源包含处理与%@include file="uri"%相同
如果请求资源为动态,则先各自处理资源,之后将处理后的结果包含在一起。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-09-17
展开全部
page directive的include是在编译的时候被复制到servlet的,也就是如果你在你的jsp运行的时候把这个被包含的文件修改了,那么显示页面不会有变化滴。这是在JSP2.0里面定义的规范,但是,呃,伟大的TomCat,它会自动检测你的文件是否修改了,所以,这个规则对于TomCat来说,无效~~但是对于其他的J2EE服务器来说不一样有效哟~~
Standard Action的include则是在运行时被动态包含的。也就是说,只要你修改了被包含文件,那么输出一定会改变~~只要那个服务器符合JSP2.0规范~~
但是有趣的是,我在TomCat和Glassfish3中测试,好似JSTL的import以及Standard Action的include只是直接将页面片段当成字符串直接输出的样子。而page directive的包含方式则可以直接引用原有页面的参数的能力(比如用EL引用request里面的值),也就是这部分被包含的代码就像是你手动写入到那个JSP页面似的,迷惑中。。。
Standard Action的include则是在运行时被动态包含的。也就是说,只要你修改了被包含文件,那么输出一定会改变~~只要那个服务器符合JSP2.0规范~~
但是有趣的是,我在TomCat和Glassfish3中测试,好似JSTL的import以及Standard Action的include只是直接将页面片段当成字符串直接输出的样子。而page directive的包含方式则可以直接引用原有页面的参数的能力(比如用EL引用request里面的值),也就是这部分被包含的代码就像是你手动写入到那个JSP页面似的,迷惑中。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个是指令标记,一个是动作标记,前者是直接将file包含的文件加到当前位置,后者是编译后加到当前位置的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前者是静态包含,也就是浏览器的地址会自动转变为你要指向的地址。
后者是动态包含,是在服务器内部转换,浏览器不知道,所以地址栏保持不变。
后者是动态包含,是在服务器内部转换,浏览器不知道,所以地址栏保持不变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询