【问题标题】:ExtJS - embeding jsp page with extjs grid inside tabExtJS - 在选项卡内嵌入带有 extjs 网格的 jsp 页面
【发布时间】:2014-09-30 12:39:15
【问题描述】:

之前我的应用程序使用框架,其中 jsp 页面使用 extjs 网格来显示数据。现在我正在尝试删除框架并使用 extjs 选项卡进行显示。我可以使用将 jsp 页面包含在选项卡中 autoLoad:{url:"test.jsp"} 标签内。但我的问题是没有显示 extjs 网格。在搜索时,我刚刚通过定义发现 autoLoad:{url:"test.jsp", scripts:true} 它激活jsp页面内的脚本。但是在运行我的应用程序时,它会显示 ext is undefined 。我不知道它是怎么来的,因为我在我的 jsp 文件中包含了 ext-all 脚本。请帮助我了解该方法是否正确,或者在使用 extjs 选项卡时我应该怎么做才能显示网格。

主页

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>

这是我试图嵌入到我的应用程序中的示例

【问题讨论】:

  • 请给我们看一些代码。见How to Ask
  • 嗨 @SanKrish 我已经包含了代码 sn-p。

标签: jsp extjs extjs4


【解决方案1】:

你会用吗

   <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>

【讨论】:

  • 这可能是一条评论。
  • 需要 50+rep 才能评论第一篇文章。 ;(
  • 赞成。请发布完整的答案。不要尝试发布一行并进行编辑。您可以通过可以完全解决问题的答案来赢得声誉。记住建议不是完整的答案:)
  • 我尝试使用 。 ext 选项卡内的 jsp 页面未生成网格。
  • 打开浏览器开发工具并检查“网络”选项卡以查看 ext-all.js 和 ext-all.css 已加载。还要检查“控制台”选项卡并(也许..)在此处发布其内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多