如何获得TabContainers和Spring Roo与Dojo 1.9.x工作



我正在尝试用Dojo 1.9.3更新我的Spring Roo项目

我已经更新了dojo-1.9.3文件夹和代码。

我更新了我的加载脚本。Tagx以引用新版本而不是默认版本。

我甚至删除了pom.xml和load-scripts.tagx中spring-js的引用。

我的TabContainer没有渲染。

我决定尽可能做一个最简单的页面。我从dojo网站上复制了以下部分内容。

<div >
    <script>dojoConfig = {parseOnLoad: true}</script>
    <script>
        require(["dojo/parser", "dijit/layout/TabContainer", "dijit/layout/ContentPane"]);
</script>
<div style="width: 350px; height: 300px">
<div data-dojo-type="dijit/layout/TabContainer" style="width: 100%; height: 100%;">
    <div data-dojo-type="dijit/layout/ContentPane" title="My first tab" data-dojo-props="selected:true">
        Lorem ipsum and all around...
    </div>
    <div data-dojo-type="dijit/layout/ContentPane" title="My second tab">
        Lorem ipsum and all around - second...
    </div>
    <div data-dojo-type="dijit/layout/ContentPane" title="My last tab" data-dojo-props="closable:true">
        Lorem ipsum and all around - last...
    </div>
</div>

有人知道为什么这不是渲染吗?

更新:渲染的问题是我自己的错。我有javascript干扰div的解析。我继续把我的答案标记为正确,因为这是解决问题的一种方法。

如果我把声明式改为程序式,我就可以让它工作了。

下面粘贴到我测试成功的jspx中。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<div xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:spring="http://www.springframework.org/tags"
 version="2.0">
<jsp:directive.page contentType="text/html;charset=UTF-8" />
<jsp:output omit-xml-declaration="yes" />
<script>
require(["dijit/layout/TabContainer", "dijit/layout/ContentPane", "dojo/domReady!"], function(TabContainer, ContentPane){
var tc = new TabContainer({
    style: "height: 100%; width: 100%;"
}, "myTabContainer");
var cp1 = new ContentPane({
    style:"height:125px",
    title: "tab 1"
  }, "editTab");
tc.addChild(cp1);
var cp2 = new ContentPane({
    style:"height:125px",
    title: "tab 2"
  }, "editTab2");
tc.addChild(cp2);
var cp3 = new ContentPane({
    style:"height:125px",
    title: "tab 3"
  }, "editTab3");
   tc.addChild(cp3);
   tc.startup();
});
</script>
<div style="width: 350px; height: 290px">
    Test
    <div id="myTabContainer">
        <div id="editTab">tab 1</div>

        <div id="editTab2">tab 2</div>
        <div id="editTab3">tab 3</div>
    </div>
</div>

最新更新