带Dojo/Dijit Dective菜单栏的SpringRoo?

带Dojo/Dijit Dective菜单栏的SpringRoo?,dojo,spring-roo,Dojo,Spring Roo,我试图使用SpringRoo1.1.4,但即使我用Dojo/Dijit hompage中的示例(LigthlyAddapted)替换完整的ROO生成的menue.jspx,它也不会用菜单替换修饰过的菜单div 这就是它的样子 这就是我们应该看到的: My modified menu.jspx <?xml version="1.0" encoding="UTF-8" standalone="no"?> <jsp:root xmlns:jsp="http://java.sun.

我试图使用SpringRoo1.1.4,但即使我用Dojo/Dijit hompage中的示例(LigthlyAddapted)替换完整的ROO生成的menue.jspx,它也不会用菜单替换修饰过的菜单div

这就是它的样子

这就是我们应该看到的:

My modified menu.jspx

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:menu="urn:jsptagdir:/WEB-INF/tags/menu"
    xmlns:sec="http://www.springframework.org/security/tags" 
    version="2.0">
    <jsp:directive.page contentType="text/html;charset=UTF-8" />
    <jsp:output omit-xml-declaration="yes" />

    <script type="text/javascript">
            dojo.require("dijit.MenuBar");
            dojo.require("dijit.PopupMenuBarItem");
            dojo.require("dijit.Menu");
            dojo.require("dijit.MenuItem");
            dojo.require("dijit.PopupMenuItem");
        </script>   
    </head>

        <div dojoType="dijit.MenuBar" id="navMenu">
            <div dojoType="dijit.PopupMenuBarItem">
                <span>
                    File
                </span>
                <div dojoType="dijit.Menu" id="fileMenu">
                    <div dojoType="dijit.MenuItem" onClick="alert('file 1')">
                        File #1
                    </div>
                    <div dojoType="dijit.MenuItem" onClick="alert('file 2')">
                        File #2
                    </div>
                </div>
            </div>
            <div dojoType="dijit.PopupMenuBarItem">
                <span>
                    Edit
                </span>
                <div dojoType="dijit.Menu" id="editMenu">
                    <div dojoType="dijit.MenuItem" onClick="alert('edit 1')">
                        Edit #1
                    </div>
                    <div dojoType="dijit.MenuItem" onClick="alert('edit 2')">
                        Edit #2
                    </div>
                </div>
            </div>
        </div>
</jsp:root>

dojo.require(“dijit.MenuBar”);
require(“dijit.PopupMenuBarItem”);
dojo.require(“dijit.Menu”);
dojo.require(“dijit.MenuItem”);
require(“dijit.PopupMenuItem”);
文件
文件#1
文件#2
编辑
编辑#1
编辑#2
谁能告诉我我做错了什么? (我知道做菜单编程的后备方法,但我想做声明性的。)


html标题如下所示:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=8" />    

    ...
    <script type="text/javascript">var djConfig = {parseOnLoad: false, isDebug: false, locale: '${fn:toLowerCase(userLocale)}'};</script>

    <script src="${dojo_url}" type="text/javascript"><!-- required for FF3 and Opera --></script>
    <script src="${spring_url}" type="text/javascript"><!-- /required for FF3 and Opera --></script>
    <script src="${spring_dojo_url}" type="text/javascript"><!-- required for FF3 and Opera --></script>
    <script language="JavaScript" type="text/javascript">dojo.require("dojo.parser");</script>      


    <spring:message code="application_name" var="app_name"/>
    <title><spring:message code="welcome_h3" arguments="${app_name}" /></title>
</head>

...
var djConfig={parseOnLoad:false,isDebug:false,locale:'${fn:toLowerCase(userLocale)}';
require(“dojo.parser”);

我对Spring Roo一无所知,所以我可能在这里说了一些非常愚蠢的话

那个menu.jspx正在编译成一些静态html吗?如果是这种情况,只需在djConfig上将parseOnLoad设置为true,就可以告诉Dojo解析初始页面

var djConfig = {parseOnLoad: true, ...}
(在这种情况下不需要dojo.parser)


另一方面,如果该模板是以动态方式插入的,则需要自己在根“navMenu”节点上调用dojo.parser.parse()。你似乎需要它,但我不知道它叫什么。

我对Spring Roo一无所知,所以也许我在这里说了一些非常愚蠢的话

那个menu.jspx正在编译成一些静态html吗?如果是这种情况,只需在djConfig上将parseOnLoad设置为true,就可以告诉Dojo解析初始页面

var djConfig = {parseOnLoad: true, ...}
(在这种情况下不需要dojo.parser)

另一方面,如果该模板是以动态方式插入的,则需要自己在根“navMenu”节点上调用dojo.parser.parse()。您似乎需要调用它,但我看不出它在哪里被调用。

我不得不使用: { dojo.addOnLoad(函数(){ parser.parse(); }); }

而不是parseOnLoad:true

我必须使用: { dojo.addOnLoad(函数(){ parser.parse(); }); }


而不是parseOnLoad:true

在哪里包含dojo脚本标记?Dojo什么时候应该解析这个?@missingno:我已经添加了html头,这就是你想知道的吗?你在哪里包括Dojo脚本标记?Dojo什么时候应该解析这个?@missingno:我已经添加了html头,这就是你想知道的吗?我会给他们一个尝试-顺便说一下:它以静态方式工作:menu.jspx和一些ohter jspx文件是一个文件,它们被渲染并与Apache Tiles一起放在一起,然后所有内容都在一个静态文件中发送到浏览器parseOnLoad的提示非常好:我将接受您的答案,但请添加一些短语以明确需要更改行“var djConfig={parseOnLoad:true,isDebug:false,…}的设置在文件
load script.tagx
中加载到
parseOnLoad:true
!我会给他们一个尝试-顺便说一句:它是以静态方式工作的:menu.jspx和一些ohter jspx文件是一个文件,它们被渲染并与Apache Tiles放在一起,然后所有的都在一个静态文件中发送到浏览器parseOnLoad的提示非常好:我会接受你的答案,但请添加一些短语,以明确需要更改行“var djConfig={parseOnLoad:true,isDebug:false,…}”的设置在文件
load script.tagx
中加载到
parseOnLoad:true