note:Spring Roo 生成项目结构源码探究--dojo文件加载--Jimmy
使用Spring Roo中页面js效果使用的是dojo实现的,生成的View使用的spring mvc的tiles。大部分视图中的tag是自定义的。
这使得我们加载Extjs依赖的js文件,造成一定困难。
其实,spring roo 中默认生成的web mvc中的标签都是自定义的。我们通过阅读官方文档得知。
A fully customizable set JSP of tags is provided, all tags are XML only (no tag-backing Java source code is required)
--- Spring Roo 用户手册 11
也就是说,其中的标签提供完全的自定义,并且仅通过XML。
让我们来看看项目中,默认生成的视图是如何布局的
别急,我们来看看默认生成的其他的文件夹。
注意:在mvc页面中添加js路径时需要注意,Url的路径会随着Controller变化,如http://127.0.0.1/petclinic/index和http://127.0.0.1/petclinic/index/是同一个controller,但是这两个页面中的base路径却不一样。如果采用相对路径加载js,这个文件就会加载失败。解决的方法是采用如下方法定义:
<spring:url value="/resources/yourjsfile.js" var="your_var" />
<script src="${your_var}" type="text/javascript"></script>
如果你的extjs放在resource文件夹内,你就可以这样编写:
<spring:url value="/resources/extbase.js" var="extjs_base" />
<script src="${extjs_base}" type="text/javascript"></script>