如何使用Dojo 1.9.x运行TabContainers和Spring Roo?

时间:2014-05-21 18:40:05

标签: dojo spring-roo

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

我已使用dojo-1.9.3文件夹和代码更新了我的网络资源。

我已经更新了我的load-scripts.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的解析。我继续将下面的答案标记为正确,因为这是解决问题的一种方法。

1 个答案:

答案 0 :(得分:0)

如果我从声明变为程序化,我可以让它发挥作用。

下面我粘贴了我测试成功的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>