有的時候,我們可能要在某個panel中動態的引入一個jsp頁面。但是ext中貌似沒有這樣的方法,所以這時候需要我們自定義一個組件來完成我們的需求。 1.首先定義我們的penel。
Ext.define(
'Qibotean.view.myTestPanel', { extend : 'Ext.panel.Panel' , alias : 'widget.myTestPanel' , id : 'myTestPanel' , closable : true , layout : 'border' , frame : true , html : '
' });
2.這里我們調用顯示這個panel。
var t = Ext.widget({ id : testPanel, xtype : testPanel });
3.在這個panel傳到頁面后我們調用我們的組件修改傳輸的內容。
Ext.create (
'Qibotean.util.loadJsp' , { url : $PRO_PATH + '/test/page/myTestPage.jsp' , innerHtmlId : 'myTestPage' }).loading() ; // 加載jsp頁面
4,定義我們的組件
Ext.define(
'Qibotean.util.loadJsp',{ config : { url : '', //myJsp路徑 innerHtmlId : '' //要放入的DomId }, loading : function() { var url = this.url; var innerHtml = this.innerHtml; //注意,這里用Ajax的原因是,我們的jsp頁面可能會引用到后台返回來的數據,如果不需要的話,直接 //document.getElementByIdx_x_x_x_x_x_x_x(innerHtmlId).innerHTML = ret.response.Text;就可以 Ext.Ajax.request({ url : url, success : function(){ document.getElementById(innerHtmlId).innerHTML = ret.response.Text; } }) ; }, //構造函數 constructor : function (config){ var a = this; a.initConfig(config); //初始化配置 } })
5. 寫入我們的jsp頁面代碼就行
轉載請注明作者:晌午十一點半(http://www.cnblogs.com/qibotean) 原文地址:http://www.cnblogs.com/qibotean/p/4549974.html