关于JSP的动态引入(<jsp:include>)与静态引入(<%@include>)
关注到这个问题的原因是:在使用静态引入时,常常会由于页面内容过长而导致JSP编译出错;
经过在网上的查找,发现大家普遍提到的一个主要区别用代码可以表示如下:
静态引入的结果
动态引入的结果
现在我们如果来修改“method2”中的内容,则可以视作“method1”的结果不会随之改变,而“method2”的结果确会随之改变;
由此,再来理解最初那些不负责任的人告诉我们的所谓动态引入与静态引入的区别是动态引入会检测所引入部份的变化是不是有那么一点点感觉了;
最后需要注意的一点是:静态引入时,(method2 code)部分的关于“response.redirect("")或者response.addCookie("")等等关于response的操作”是有效的,而在动态引入时是无效的;
以上是初步收集到的一些资料与个人的理解,也许会有些偏差,希望大家多多指点,以免误人子弟;
关注到这个问题的原因是:在使用静态引入时,常常会由于页面内容过长而导致JSP编译出错;
经过在网上的查找,发现大家普遍提到的一个主要区别用代码可以表示如下:
静态引入的结果
void method1(){
//method1 doSomething
/*method2 code*/ //可以看作是在某个地方找到了method2的代码,复制放到这里
//method1 doSomething
}
动态引入的结果
void method1(){
//method1 doSomething
method2();//显示;
//method1 doSomething
}
void method2(){
/*method2 code*/
}
现在我们如果来修改“method2”中的内容,则可以视作“method1”的结果不会随之改变,而“method2”的结果确会随之改变;
由此,再来理解最初那些不负责任的人告诉我们的所谓动态引入与静态引入的区别是动态引入会检测所引入部份的变化是不是有那么一点点感觉了;
最后需要注意的一点是:静态引入时,(method2 code)部分的关于“response.redirect("")或者response.addCookie("")等等关于response的操作”是有效的,而在动态引入时是无效的;
以上是初步收集到的一些资料与个人的理解,也许会有些偏差,希望大家多多指点,以免误人子弟;