Постановка задачи: - У меня есть угловое приложение, встроенное в index.jsp
, и угловая маршрутизация не работает для него. Как мне это реализовать?
URL-адрес приложения https://localhost/Angular/jsp/index.jsp.
index.html angular встроен в index.jsp
, как показано ниже.
<%@include file="../Build/index.html"%>
базовый ресурс index.html равен
`<base href="../Angular/Build/">`
и моя команда сборки
`"ng build --aot=false --watch --base-href ../Angular/Build/",`
Вот мой routing.module.ts
`const routes: Routes = [`
` { path: '', component: LandingComponent },`
` { path: 'secondPage', component: RoutingPageComponent },`
`];`
`@NgModule({`
` imports: [ RouterModule.forRoot(routes, {useHash: true}) ],`
`exports: [ RouterModule ],`
`}) `
До реализации маршрутизации этот URL https://localhost/Angular/jsp/index.jsp.
работает нормально и приложение загружается правильно.
После применения маршрутизации angular выдает ошибку при загрузке пути по умолчанию на консоли как
/Angular/jsp/index.jsp этот путь не определен.
Чтобы преодолеть это, я использовал HashLocationStrategy, после этого, если я введу URL-адрес по умолчанию, тогда приложение загружается, но URL-адрес меняется на
https://localhost/Angular/Build/#/
После того, как я перезагружаю этот измененный URL, появляется ошибка, так как 404 не найден.
Как мне указать этот измененный URL https://localhost/Angular/Build/#/
снова на index.jsp
PS: - Я попытался добавить правило в web.xml как
`<servlet>
<servlet-name>index.jsp</servlet-name>
<jsp-file>jsp/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<url-pattern>/Build/</url-pattern>
<url-pattern>/Build/#/</url-pattern>
</servlet-mapping>`
Но не повезло.
Любая помощь приветствуется.
Спасибо