是否有可能以角度更改基本网址?

时间:2013-02-07 13:07:12

标签: servlets angularjs

我正在编写一个带有java servlet后端的Web应用程序,我正在检查前端的角度。由于servlet中特定资源的地址取决于它所放置的servlet上下文,我想知道是否可以更改所有角度函数的基本URL。

实施例: 如果我在webapp <a href='/newaccount'>Create new account</a>中创建了一个链接,并且我相应地配置了路由提供程序$routeProvider.when('/newaccount', ...,无论我的servlet放在什么servlet上下文中,我希望它能工作。所以,如果我将我的servlet放在一个上下文中称为“mycontext”,资源的实际网址为[hostname]/mycontext/newaccount

我可以以某种方式设置角度并传入上下文名称,以便它被预先添加到所有位置和配置的路由?这样servlet可以放在不同的上下文中,仍然有效。

1 个答案:

答案 0 :(得分:4)

实际上有两个路由 - 一个在后端,一个在前端。你不是想念他们吗?

当您在AngularJS中配置$routeProvider时,您正在配置客户端路由,因此网址会有[hostname]/anypath/yourpage/#/newaccount(如果您使用的是HashBang模式,则默认为AngularJS )。

但当然你可以改变基础。例如,Plunker使用这种方式:

<script>
      document.write('<base href="' + document.location + '" />');
</script>

您可以在此处找到更多信息,包括HTML5和HashBang模式:https://docs.angularjs.org/guide/$location(还有关于<base> Html链接重写的说明)