Dojo is not defined

Olá, estou com problemas para colocar DOJO toolkit na minha aplicação web. A estrutura da aplicação é esta:

ROOT
    |-------- style   
    |              |------- dojo.js
    |              |------- src (vários dirs e js´s)
    |-------- WEB-INF
                         |-------- libs (os jars da aplicação...)
                         |--------pages
                                     |-------- pageTeste.jsp

Ao tentar acessar a página o componente de menu (que é o que estou tentando criar) não aparece e no console de JS do Firefox aparece “dojo is not defined na linha onde aparece: dojo.require(“dojo.widget.Menu2”);”

Pela documentação do mesmo, eu teria algo do tipo no pageTest.jsp:

<script type="text/javascript">
	var djConfig = {isDebug: true, baseRelativePath: "style", debugAtAllCosts: true};
<script>

<script language="text/javascript" src="style/dojo.js"><script>
<script type="text/javascript">
	dojo.require("dojo.widget.Menu2");
	dojo.hostenv.writeIncludes();
<script>
<style type="text/css">
.dojoMenuBar2{ border-top:65px solid #d4d4d4; }<style>

Estou mantendo as tags script e style sem fechar porque o site não permite postá-las.

Se esta for a praia errada, me desculpem. De qualquer modo o que está acontecendo é que minha página não está encontrando a declaração dele. Estou certo de que deve ser problema ao referenciar o caminho ao dojo.js Já tentei várias coisas e ainda não obtive sucesso. Aindei dando uma olhada no google e o que achei não me ajudou muita coisa.

Se alguém tiver alguma dica ou sugestão fico muito grato, T+

Estou tendo o mesmo problema que você =/
Se axar o erro posta ae =]

Já resolvi sim. Na verdade estava comparando o que postei aqui e o que tenho hoje e parece não haver diferença. Devo supor que o cache do browser tenha alguma coisa haver. De qualquer forma dá uma olhada na estrutura do corpo da minha página:

[!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"]
[html]

	[head]
	
	[META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"]
	[META HTTP-EQUIV="Pragma" CONTENT="no-cache"]
	[META HTTP-EQUIV="Expires" CONTENT="0"]
	[META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"]

[script type="text/javascript" src="style/dojo.js"][/script]

[script language="JavaScript" type="text/javascript"]
	dojo.require("dojo.io.*");
	dojo.require("dojo.widget.Dialog");
	dojo.require("dojo.widget.TabContainer");
	dojo.require("dojo.widget.SplitContainer");
	dojo.require("dojo.widget.ContentPane");
	dojo.require("dojo.widget.LayoutContainer");
	dojo.require("dojo.widget.Menu2");
	dojo.hostenv.writeIncludes();
[/script]

[/head]

Toma cuidado na referência do “import” do script do DOJO, ou seja, use:

[script type="text/javascript" src="style/dojo.js"][/script]

E não:

[script type="text/javascript" src="style/dojo.js" /]

Este segundo NÃO funciona pela própria documentação WIKI dos caras. Verifica isto.

Estou tendo problemas agora em submeter actions do Struts pelo FormBind ou mesmo pelo bind do DOJO! Se acabar se deparando com alguma solução aí não deixar de dizer como, beleza? Qualquer coisa posta aí… T+

Acho que o problema era a declaração do script mesmo…

Agora to tendo problema que ele está dando erro falando que djConfig.baseScriptUri.length é indefinido =/

Provavelmente eu não vá usar o dojo para ajax, pois isso eu estou fazendo com o DWR, vou usar o dojo mais para o GUI da aplicação…

Mais se eu ver algo relacionado eu posto aqui…

Pronto… ja arrumei o erro na verdade =P

Olá. Estais declarando “baseScriptUri” junto ao djConfig? Não é necessário utilizá-lo na verdade, pela própria documentação dos caras, exceto em algumas situações. Se estais usando, tira. Se não estiver, coloca só pra ver :slight_smile: É o diretório raiz de onde está o script. Por exemplo:

ROOT
ROOT\scripts\
ROOT\scripts\dojo.js
ROOT\scripts\src\
ROOT\scripts\src\...

Então o “baseScriptUri” é “/scripts/”! Vou dar uma olhada neste DWR. Dá pra usar ele pra enviar os requests dos forms de forma assíncrona com struts? Valeu T+