4

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

示例:如果我在我的 web 应用程序中创建了一个链接,<a href='/newaccount'>Create new account</a>并相应地配置了路由提供程序,$routeProvider.when('/newaccount', ...那么无论我的 servlet 放置在什么 servlet 上下文中,我都希望它能够工作。因此,如果我将我的 servlet 放在一个名为“mycontext”的上下文中,那么实际的 url 到资源将是[hostname]/mycontext/newaccount.

我可以以某种方式设置角度并传入上下文名称,以便将其添加到所有位置和配置的路线之前吗?这样,servlet 可以放置在不同的上下文中并且仍然可以工作。

4

1 回答 1

4

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

当您$routeProvider在 AngularJS 中进行配置时,您正在配置客户端路由,因此 url 会有点[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 链接重写的说明)

于 2013-02-07T14:21:41.923 回答