2016-09-22 50 views
0

我想在基于AngularJS和SpringMVC的web应用程序中使用ng-include。在Spring Web应用程序中使用ng-include不起作用

这是WEB-INF目录下的树:

/WEB-INF 
    /views 
     /fragmentPages 
      footer.jsp 
     index.jsp 

在我加入了映射/ fragmentPages资源dispatcherServelet.xml:

<mvc:resources mapping="/fragment/**" location="/WEB-INF/views/fragmentPages/" /> 

进入的index.jsp我做到了这一点:

<body ng-app="myApp"> 
    <div ng-controller="myCtrl"> 
     ... 
    </div> 
    <div ng-include="${servletContextPath}+'fragment/footer.jsp'"></div> 
</body> 

但在浏览器中查看源代码我看到:

<div ng-include="/Project+'fragment/footer.jsp'"></div> 

和包含不起作用。

为什么?

UPDATE

我现在树:

/resources 
    footer.jsp 
/WEB-INF 
    /views 
     /fragmentPages 
      footer.jsp 
     index.jsp 
在我的调度员

我做:

<mvc:resources mapping="/resources/**" location="/resources/" /> 
<mvc:resources mapping="/WEB-INF/**" location="/WEB-INF/" />  

在我的index.jsp,如果我使用:

<div ng-include="'${servletContextPath}/resources/footer.jsp'"></div> 

它的工作原理!

但是,相反,如果我使用:

<div ng-include="'${servletContextPath}/WEB-INF/views/fragmentPages/footer.jsp'"></div> 

没有作品..这怎么可能?

+0

你不需要的'+'和'滴答''。 JSP引擎只是取代了出现在jsp源文件中的$ {...}。 – meistermeier

+0

@meistermeier所以,我必须做什么? – Dave

+0

'

'这一行。 – meistermeier

回答

0

答案是

@RequestMapping("/footer") 
    public String footer(){ 
    return "footer"; 
} 

<div ng-include="'footer'"></div> 
相关问题