2014-09-30 3 views
0

Раньше мое приложение использовало фреймы, где на странице jsp использовалась сетка extjs для отображения данных. Теперь я пытаюсь удалить фреймы и использовать вкладку extjs для отображения. Я могу включить страницу jsp внутри вкладки, используя autoLoad: {url: "test.jsp"} внутри вкладки. Но моя проблема заключается в том, что сетка extjs не отображается. Во время поиска я только что узнал, указав autoLoad: {url: "test.jsp", scripts: true} активирует скрипты внутри страницы jsp. Но при запуске моего приложения он отображает ext undefined. Я не знаю, как это происходит, поскольку я включил скрипт ext-all внутри моего jsp-файла. Пожалуйста, помогите мне узнать, правильный ли подход или что мне делать, чтобы отображать сетку во время работы с вкладкой extjs.ExtJS - встраивание страницы jsp с сеткой extjs внутри вкладки

MainPage

Ext.onReady(function(){ 
Ext.create('Ext.tab.Panel', { 
height:300, 
    items: [ 
     { 
      title: 'eRAM summary', 
      autoLoad: {url: 'test1.jsp',scripts:true}, 
      closable:true 
     } 
    ], 
    renderTo : document.body 
}); 

test.jsp содержит сетку, как

<script> 
function getRandomDate() { 
    var from = new Date(1900, 0, 1).getTime(); 
    var to = new Date().getTime(); 
    return new Date(from + Math.random() * (to - from)); 
} 
function createFakeData(count) { 
     var firstNames = ['Ed', 'Tommy', 'Aaron', 'Abe']; 
     var lastNames = ['Spencer', 'Maintz', 'Conran', 'Elias']; 

     var data = []; 
     for (var i = 0; i < count ; i++) { 
      var dob = getRandomDate();   
      var firstNameId = Math.floor(Math.random() * firstNames.length); 
      var lastNameId = Math.floor(Math.random() * lastNames.length); 
      var name  = Ext.String.format("{0} {1}", firstNames[firstNameId], lastNames[lastNameId]); 

      data.push([name, dob]); 
     } 
     return data; 
    } 
Ext.onReady(function(){ 
    Ext.define('Person',{ 
     extend: 'Ext.data.Model', 
     fields: [ 
      'Name', 'dob' 
     ] 
    }); 

// create the Data Store 
var store = Ext.create('Ext.data.Store', { 
    model: 'Person', 
    autoLoad: true, 
    proxy: { 
     type: 'memory', 
      data: createFakeData(10), 
      reader: { 
       type: 'array' 
      } 
    } 
}); 
// create the grid 
Ext.create('Ext.grid.Panel', { 
    store: store, 
    columns: [ 
     {text: "Name", width:120, dataIndex: 'Name'}, 
     {text: "dob", width: 380, dataIndex: 'dob'} 
    ], 
    renderTo:'example-grid', 
    width: 500, 
    height: 280 
    });  
}); 
</script> 

Это пример, с которым я пытаюсь внедрить в моем приложении

+0

Пожалуйста, покажите нам код. см. [ask] –

+0

Привет @SanKrish Я включил фрагмент кода. –

ответ

2

ли вы использовать

<c:url> 

с учетом ext-all.js?

как этот

<head> 
    <link href="<c:url value='/resources/css/ext-all.css' />" rel="stylesheet"> 
    <script src="<c:url value='/extjs/ext-debug.js' />" type="text/javascript"></script> 
    <script src="<c:url value='/resources/css/ext-all.css' />app/app.js" type="text/javascript"></script> 
</head> 
+0

Это скорее комментарий. –

+1

нужно 50 + rep, чтобы прокомментировать первое сообщение. ( –

+0

Упрощенный, пожалуйста, напишите полный ответ. Не пытайтесь опубликовать строку и отредактировать ее. Вы можете заработать репутацию через ответы, которые могут полностью решить проблему. Помните, что предложения не являются полными ответами :) –

Смежные вопросы