【发布时间】:2015-08-28 13:48:22
【问题描述】:
我在使用 Angular html5 模式通过 Spring Boot 后端进行路由时遇到问题。当我使用 ui 路由器的 $state.go() 导航到不同的 url 时,应用程序工作正常,但是当我尝试输入不同状态的 url 并直接转到它时,它无法正确加载。
我们使用了类似于此处详述的解决方案 (https://spring.io/guides/tutorials/spring-security-and-angular-js/),本质上是使用弹簧控制器将某些页面转发到基本 url,“/”。与我们的不同之处在于,我们使用基本 url,“step”,放在除主页之外的每个页面之前。但是,当我们直接导航到网站中的不同页面时,加载的每个资源都会变成我们的 index.html 文件(js、css 等)。当我们查看网络请求时,出于某种原因,它会在每个请求的前面附加“step”url(所以不是 css/style.css,而是 step/css/style.css)。
这是我们的弹簧控制器的一个例子:
@Controller
public class ViewController {
@RequestMapping(value="/step/**")
public String forward() {
return "forward:/";
}
}
我们将不胜感激,但请记住,我们已经研究了各种解决方案,例如提到的链接和其他几个具有类似解决方案的解决方案。
【问题讨论】:
标签: angularjs spring spring-boot angular-ui-router