springmvc对angularjs的路由templateurl引用html页面出现的问题

owenG 发布于 2015/05/22 15:30
阅读 3K+
收藏 0

angular解析的前台链接是这样的:localhost/admin#/program  点击链接时,angular会加载program目录下的program.html 到div中.这个时候就会出现404错误.因为html页面在WEB-INF下面是受保护的,无法直接访问到 ,springmvc拦截的是"/" 此时貌似就无法加载到program.html.

当然放在WEB-INF外面, webapp下面是可以的,但是这样好像不安全吧.如何解决页面在web-inf下面的问题呢??

并且我发现$stateProvider.state配置的路径并不是跳转。后台收不到页面做了跳转操作。这样我就不能知道该用户到底是登录系统还是没有登录系统。这样怎么能解决??

加载中
0
我已经报警了
我已经报警了

用spring写一个跳转就行了啊,直接返回WEB-INF里面的html文件

owenG
owenG
angularJS何用?
0
wells杨
wells杨

angularjs的这个功能就是仿照spring做的。你这么在一起使用肯定会有冲突的,两个都简单,要舍弃一方的功能

owenG
owenG
两个不能合起来用??那就是ngview不能用了??
0
owenG
owenG

引用来自“feiyang2017”的评论

angularjs的这个功能就是仿照spring做的。你这么在一起使用肯定会有冲突的,两个都简单,要舍弃一方的功能

既然你说是仿的,那肯定可以有方法来解决。要不这个angularjs难道是来和springmvc对抗的??
owenG
owenG
回复 @feiyang2017 : 但是在ngview里面做的跳转根本是不进后台的
wells杨
wells杨
angularjs的路由功能和springmvc的restful风格很像吧,你访问路有的时候被spring拦截器拦截了,所以不会再被angularjs路由器处理了 解决办法的话 你可以不要用“/”来拦截,或者在拦截器里面对你用到的路由地址进行过滤,不过感觉牺牲有点大
0
wells杨
wells杨

引用来自“feiyang2017”的评论

angularjs的这个功能就是仿照spring做的。你这么在一起使用肯定会有冲突的,两个都简单,要舍弃一方的功能

引用来自“owenG”的评论

既然你说是仿的,那肯定可以有方法来解决。要不这个angularjs难道是来和springmvc对抗的??

噢,刚才我好想没有说到重点,没看清你的问题的重点,

这么的话前台是没办法访问web-inf里的页面的,用了angularjs的话基本都不会再js里访问web-inf里的页面,只能分开做了。

0
owenG
owenG

引用来自“feiyang2017”的评论

angularjs的这个功能就是仿照spring做的。你这么在一起使用肯定会有冲突的,两个都简单,要舍弃一方的功能

引用来自“owenG”的评论

既然你说是仿的,那肯定可以有方法来解决。要不这个angularjs难道是来和springmvc对抗的??

引用来自“feiyang2017”的评论

噢,刚才我好想没有说到重点,没看清你的问题的重点,

这么的话前台是没办法访问web-inf里的页面的,用了angularjs的话基本都不会再js里访问web-inf里的页面,只能分开做了。

那就是没有办法和springmvc一起使用了吗??感觉这样很矛盾啊、、应该有什么方法可以解决吧

0
wells杨
wells杨

引用来自“owenG”的评论

引用来自“feiyang2017”的评论

angularjs的这个功能就是仿照spring做的。你这么在一起使用肯定会有冲突的,两个都简单,要舍弃一方的功能

引用来自“owenG”的评论

既然你说是仿的,那肯定可以有方法来解决。要不这个angularjs难道是来和springmvc对抗的??

引用来自“feiyang2017”的评论

噢,刚才我好想没有说到重点,没看清你的问题的重点,

这么的话前台是没办法访问web-inf里的页面的,用了angularjs的话基本都不会再js里访问web-inf里的页面,只能分开做了。

那就是没有办法和springmvc一起使用了吗??感觉这样很矛盾啊、、应该有什么方法可以解决吧

你遇到的这个问题应该和springmvc还没有很大关系吧?即使不用springmvc,你的路由地址也不能访问web-inf下的东东吧,尽量把路由访问的页面从web-inf里里取出来,
0
owenG
owenG

引用来自“owenG”的评论

引用来自“feiyang2017”的评论

angularjs的这个功能就是仿照spring做的。你这么在一起使用肯定会有冲突的,两个都简单,要舍弃一方的功能

引用来自“owenG”的评论

既然你说是仿的,那肯定可以有方法来解决。要不这个angularjs难道是来和springmvc对抗的??

引用来自“feiyang2017”的评论

噢,刚才我好想没有说到重点,没看清你的问题的重点,

这么的话前台是没办法访问web-inf里的页面的,用了angularjs的话基本都不会再js里访问web-inf里的页面,只能分开做了。

那就是没有办法和springmvc一起使用了吗??感觉这样很矛盾啊、、应该有什么方法可以解决吧

引用来自“feiyang2017”的评论

你遇到的这个问题应该和springmvc还没有很大关系吧?即使不用springmvc,你的路由地址也不能访问web-inf下的东东吧,尽量把路由访问的页面从web-inf里里取出来,
确实是没法访问web-inf里面的内容、、但是如果有什么办法可以把解决angularjs的路由指向springmvc的地址,这样是不是就能解决掉了??
0
wells杨
wells杨

引用来自“owenG”的评论

引用来自“feiyang2017”的评论

angularjs的这个功能就是仿照spring做的。你这么在一起使用肯定会有冲突的,两个都简单,要舍弃一方的功能

引用来自“owenG”的评论

既然你说是仿的,那肯定可以有方法来解决。要不这个angularjs难道是来和springmvc对抗的??

引用来自“feiyang2017”的评论

噢,刚才我好想没有说到重点,没看清你的问题的重点,

这么的话前台是没办法访问web-inf里的页面的,用了angularjs的话基本都不会再js里访问web-inf里的页面,只能分开做了。

那就是没有办法和springmvc一起使用了吗??感觉这样很矛盾啊、、应该有什么方法可以解决吧

引用来自“feiyang2017”的评论

你遇到的这个问题应该和springmvc还没有很大关系吧?即使不用springmvc,你的路由地址也不能访问web-inf下的东东吧,尽量把路由访问的页面从web-inf里里取出来,

引用来自“owenG”的评论

确实是没法访问web-inf里面的内容、、但是如果有什么办法可以把解决angularjs的路由指向springmvc的地址,这样是不是就能解决掉了??

如果要这么做的话,有一个有点复杂并且有点坑的方法:你写一个iframe模板,路由地址指向这个模板,iframe的url指向spring控制器,这样spring才能完整的返回视图,返回的视图在iframe里加载。这个方法基本可以一闪而过。。。


0
owenG
owenG

引用来自“owenG”的评论

引用来自“feiyang2017”的评论

angularjs的这个功能就是仿照spring做的。你这么在一起使用肯定会有冲突的,两个都简单,要舍弃一方的功能

引用来自“owenG”的评论

既然你说是仿的,那肯定可以有方法来解决。要不这个angularjs难道是来和springmvc对抗的??

引用来自“feiyang2017”的评论

噢,刚才我好想没有说到重点,没看清你的问题的重点,

这么的话前台是没办法访问web-inf里的页面的,用了angularjs的话基本都不会再js里访问web-inf里的页面,只能分开做了。

那就是没有办法和springmvc一起使用了吗??感觉这样很矛盾啊、、应该有什么方法可以解决吧

引用来自“feiyang2017”的评论

你遇到的这个问题应该和springmvc还没有很大关系吧?即使不用springmvc,你的路由地址也不能访问web-inf下的东东吧,尽量把路由访问的页面从web-inf里里取出来,

引用来自“owenG”的评论

确实是没法访问web-inf里面的内容、、但是如果有什么办法可以把解决angularjs的路由指向springmvc的地址,这样是不是就能解决掉了??

引用来自“feiyang2017”的评论

如果要这么做的话,有一个有点复杂并且有点坑的方法:你写一个iframe模板,路由地址指向这个模板,iframe的url指向spring控制器,这样spring才能完整的返回视图,返回的视图在iframe里加载。这个方法基本可以一闪而过。。。


就没有好的办法把这个问题给解决了吗???不能一起用只用ng没法判断登录。。只用springmvc,,ngview没什么用了
0
钱钱磊
钱钱磊
一种就是 spring跳转,另一种静态和动态分离 ,静态页用nginx, 动态用nginx转发  后端提供json 返回就好了 前端统一用html。
返回顶部
顶部