Spring mvc jquery在重定向后没有工作?

时间:2014-04-19 17:04:15

标签: java spring spring-mvc apache-tiles

我有一个使用spring mvc的网络应用程序。主页正确显示(jquery滑块正确显示)。当我尝试转到另一个页面时,可以正确识别URL路径,并且页面按预期显示但没有jquery(滑块内容显示为无法识别jquery)。

控制器方法:

@RequestMapping(value = "/menu", method = RequestMethod.GET)
public String listMenu(Model model) {
    ...
    return "menu";
}

@RequestMapping(value = "menu/category/{cName}", method = RequestMethod.GET)
public String listCategory(@PathVariable("cName")String category, Model model) {
              ....
    return "menu/category";
}

我使用瓷砖

<tiles-definitions>
    <definition extends="default" name="menu">
        <put-attribute name="body" value="/WEB-INF/views/menu/menu.jspx" />
    </definition>
    <definition extends="default" name="menu/category">
        <put-attribute name="body" value="/WEB-INF/views/menu/category.jspx" />
    </definition>
</tiles-definitions>

当我转到... / menu url时,jquery滑块仍然显示正常,当...菜单/类别/名称时,即使menu.jspx和category.jspx具有相同的内容,也会出现上述问题。请帮帮我!

css和脚本的链接位于default.jspx中,这是网站的布局,

<script type="text/javascript" src="resources/banner/js/jquery.cslider.js"><jsp:text/></script>

我试过&lt; spring:url&gt;以及

2 个答案:

答案 0 :(得分:0)

问题可能与您正在使用的视图的路径和javascript资源的路径有关。 javascript文件的路径必须是绝对的,在这种情况下,它们在两个视图文件中是相同的,或者相对的,在这种情况下它们将不相同

答案 1 :(得分:0)

尝试添加如下的静态资源配置:

<mvc:resources order="12" location="/css/" mapping="/css/**"/>
<mvc:resources order="13" location="/js/" mapping="/js/**"/>
<mvc:resources order="14" location="/images/" mapping="/images/**"/>