参考http://blog.csdn.net/gavin812428144/archive/2010/03/22/5405728.aspx
今天在运行项目时,页面突然报错“dojo未定义”!奇怪了,昨天还好好的,怎么今天就出了这个问题呢,在<SCRIPT type="text/javascript" scr="/dojo.js">里指明dojo库文件路径后还是也不行,郁闷死了。结果上网找了一下,发现有位仁兄跟我的问题差不多,看了他的解释才恍然大悟。原来,我也像他一样,昨天结束的时候在web.xml改变了一些配置。本来的配置如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
后来被我改成了:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
这样就导致.js文件没有走FilterDispatcher,类似的,如果你项目里有.css文件,也会出现问题。
找到了问题,我便在配置文件继续添加:
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>
经测试,一切正常。