dojo is not defined

关于使用<s:head theme="ajax">时在Firefox3中出现dojo is not defined的解决方法(试试看)

I am not sure what the exact problem is, but it has to do with the way that browser_debug.js gets processed.  One would think that this file would only get pulled in when the head tag attribute debug=true, but one would be wrong in that situation.

The "correct" way to fix this bug is to supply your own template for the head tag which will make the dojo attribute debugAtAllCosts respect the head debug flag.

To do this,

1. create a file named head.ftl in your simple templates directory.   ( ie $classpath/template/simple/head.ftl)
Or modify struts2.jar/template/simple/head.ftl file. (I did this)

2. Paste this text into it:

<script language="JavaScript" type="text/javascript">
    // Dojo configuration
    djConfig = {
        baseRelativePath: "<@s.url includeParams='none' value='/struts/dojo' includeParams="none" encode='false'/>",
        isDebug: ${parameters.debug?default(false)},
        bindEncoding: "${parameters.encoding}",
        debugAtAllCosts: ${parameters.debug?default(false)} // not needed, but allows the Venkman debugger to work with the includes
    };
</script>
<script language="JavaScript" type="text/javascript"
        src="<@s.url includeParams='none' value='/struts/dojo/dojo.js' includeParams="none" encode='false'/>"></script>
<script language="JavaScript" type="text/javascript"
        src="<@s.url includeParams='none' value='/struts/simple/dojoRequire.js' includeParams="none" encode='false'/>"></script>

刷新工程,重启服务器。
后记:其实这个解决方法是从鬼佬那里看到的,感谢互联网,感谢鬼佬。
(原文地址)http://www.nabble.com/Firefox-3-and-%3Cs:head-theme%3Dajax-%3E-render-issues-td18260192.html

你可能感兴趣的:(互联网,struts,IE,firefox,dojo)