需求說(shuō)明:兩個(gè)JSP頁(yè)面,父頁(yè)面需要子頁(yè)面的內(nèi)容,但子頁(yè)面是隱藏的,具體來(lái)說(shuō),子頁(yè)面是一系列的模板,父頁(yè)面要通過(guò)id來(lái)獲取這些模板,不愿意通過(guò)<include>方式導(dǎo)入,因?yàn)槿绻0暹^(guò)多,就導(dǎo)致整個(gè)父頁(yè)面太大,加載緩慢,以下兩個(gè)方案,不知有沒(méi)有解決這個(gè)問(wèn)題。
1、通過(guò)ajax方式
實(shí)現(xiàn)過(guò)程:通過(guò)ajax請(qǐng)求到子頁(yè)面中,子頁(yè)面獲取參數(shù)id使用java和js變量的交互后,返回需要的模板信息
缺點(diǎn):把js變量轉(zhuǎn)換成java變量比較麻煩,需要使用form表單來(lái)提交,而且jsp中的java腳本是在服務(wù)器端運(yùn)行的,需要服務(wù)器端資源開(kāi)銷(xiāo),而且增加了交互次數(shù)
2、通過(guò)iframe 引入
實(shí)現(xiàn)過(guò)程:使用iframe引入子頁(yè)面,然后通過(guò)$(iframe.contents().find("#"+id)[0]).val()獲得需要的模板.
缺點(diǎn):不確定iframe是不是可以延遲加載,如果也想<include>一樣把整個(gè)頁(yè)面都導(dǎo)入進(jìn)來(lái),這個(gè)方法也不算ok.
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄