4

Java サーブレット バックエンドを使用して Web アプリを作成しており、フロント エンドの角度をチェックしています。サーブレット内の特定のリソースへのアドレスは、それが配置されているサーブレット コンテキストに依存するため、すべての角度関数のベース URL を変更できるかどうか疑問に思っています。

例: webapp でリンクを作成し、それに<a href='/newaccount'>Create new account</a>応じてルート プロバイダーを構成する$routeProvider.when('/newaccount', ...場合、サーブレットが配置されているサーブレット コンテキストに関係なく、これが機能するようにします。リソースは になります[hostname]/mycontext/newaccount

どういうわけかAngularをセットアップしてコンテキスト名を渡して、すべての場所と構成されたルートに追加されるようにすることはできますか? このようにして、サーブレットをさまざまなコンテキストに配置しても機能する可能性があります。

4

1 に答える 1

4

実際には、バックエンドに 1 つ、フロントエンドに 1 つの 2 つのルーティングがあります。見逃していませんか?

AngularJS で構成$routeProviderしているときは、クライアント側のルーティングを構成しているので、URL は一種のものになり[hostname]/anypath/yourpage/#/newaccountます (HashBang モードを使用している場合、AngularJS のデフォルトです)。

もちろん、ベースを変更することもできます。たとえば、プランカーは次のように使用します。

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

HTML5 や HashBang モードなどの詳細については、https://docs.angularjs.org/guide/$location ( Html リンクの書き換えに関する注意事項もあり<base>ます)を参照してください。

于 2013-02-07T14:21:41.923 に答える