我有一个使用角度html5模式进行路由的问题,使用弹簧引导后端。当我使用ui路由器的$ state.go()导航到不同的url时,应用程序工作正常,但是当我尝试输入不同的状态的url并直接转到它时,它无法正确加载。Angular html5模式和弹簧路由
我们使用了类似于此处详述的解决方案(https://spring.io/guides/tutorials/spring-security-and-angular-js/),本质上使用弹簧控制器将某些页面转发到基本URL“/”。与我们的不同之处在于,我们使用基本网址“步骤”将每个页面放在首页之前。但是,当我们直接导航到我们网站中的其他页面时,所加载的每个资源都会变成我们的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:/";
}
}
任何帮助,将不胜感激,但请记住,我们已经调查了各种解决方案已经如提到的链接和一些其他具有类似的解决方案。
你能详细说明一下吗?我尝试过使用“/ ** /”,但是我最终在一个无限循环中返回“index”,然后再次使用“/WEB-INF/views/index.html”调用控制器,有没有什么方法可以让我有一个带“/ **”的控制器,排除任何以“/ WEB-INF”开头的东西?我是否必须将所有内容都粘贴到“/ application”中? – Craig