程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 兩個JSP頁面父頁面獲取子頁面內容的兩種方法,jsp兩種方法

兩個JSP頁面父頁面獲取子頁面內容的兩種方法,jsp兩種方法

編輯:關於JSP

兩個JSP頁面父頁面獲取子頁面內容的兩種方法,jsp兩種方法


需求說明:兩個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.


jsp子頁面裡的java模塊怎取得父頁面js裡的變量值

你在打開子頁面的時候,把值傳到子頁面就OK了;
如果不想傳值,就在子頁面使用onload方法使用js將值調用寫入子頁面,然後java裡調用即可,不過這個前提是父頁面需要把js中的值使用隱藏標簽寫在頁面;
 

jquery 在父頁面中怎獲取子頁面中的對象

兩點
1.既然你用jQuery了,為什麼還要用getElementById()來獲取元素?況且,獲取iframe中元素也沒這麼麻煩啊
$("#id_iframe").contents().find("#id_button_test");這不就好了。。
2.你這部分代碼是寫在a.jsp頁面中了吧?那我估計之所以不運行,是因為你注冊點擊事件的時候,b.jsp頁面還沒有加載完。所以盡管你調試的時候能輸出,但是代碼裡是注冊不上的。把這段代碼寫在b.jsp的window.onload事件中

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved