38--常用模板部件
在JAVA里有个模板引擎叫Velocity,当然这个不是在JSP单元说的内容。但是在JSP里也有这样的处理机制。这个机制叫做include,include指令可以告诉容器,复制包含文件的所有内容,然后把它贴到JSP的指定位置中去。WEB页面的设计是包括页眉和页角的。我们在html中可以%@include%,当然在JSP中就可以用到的标准动作了。两者功能一样,其实两者实现时是在不同的时候。一个是在指令转换时发生的,也就是在servlet中直接out.println了include的内容,而指令则不是,它是在运气期间插入include的jsp响应,该指令的关键是容器根据页面创建了一个请求的Dipatcher,并运行了include()方法。也就是从容器接收到客户发来的include请求时,容器先读取include的jsp文件,然后合并当前JSP文件,并创建转换为所生成的servlet的代码。影响系统的开销都是发生在第一个请求时,第二个请求时并不受影响。
还有一个叫的指令,当从一个JSP文件向另一个文件传递一个包含用户请求的request对象。就可以用的指令,该指令其实就是让页面可以有条件的进行转发。我们在使用MVC的时候,时常会遇到这样的问题。当然控制跳转是控制器的事情,不是视图的事情。我们在利用发生转发时,请求转发的目标首先会清空响应缓存区,也就是说发生转发,那么之前所有的东东都将不复存在。的指令可以用来将信息作为请求参数传递给包含的界面,这样的话主动权可以放在发起请求的界面上。出现一定以“名-值”对的形式出现为其他标签提供附加信息。