需求说明:两个JSP页面,父页面需要子页面的内容,但子页面是隐藏的,具体来说,子页面是一系列的模板,父页面要通过id来获取这些模板,不愿意通过<include>方式导入,因为如果模板过多,就导致整个父页面太大,加载缓慢,以下两个方案,不知有没有解决这个问题。

1、通过ajax方式

实现过程:通过ajax请求到子页面中,子页面获取参数id使用java和js变量的交互后,返回需要的模板信息

缺点:把js变量转换成java变量比较麻烦,需要使用form表单来提交,而且jsp中的java脚本是在服务器端运行的,需要服务器端资源开销,而且增加了交互次数

2、通过iframe 引入

实现过程:使用iframe引入子页面,然后通过$(iframe.contents().find("#"+id)[0]).val()获得需要的模板.

缺点:不确定iframe是不是可以延迟加载,如果也想<include>一样把整个页面都导入进来,这个方法也不算ok.