将Angular 7与现有Java Application集成

问题描述 投票:0回答:1

我是棱角分明的新手。我当前的应用程序是使用YUI库在JSP中使用JSP构建的。在我们的应用中,我们有多个标签。是否可以最初使用相同的应用程序切换到一个或两个选项卡的Angular 7,或者我们需要从新项目开始。

请建议。

java angular single-page-application
1个回答
0
投票

是的,它是可行的,因为Angular可以从JSP页面引导自己。它可以是在转换到Angular时保持当前应用程序运行的好方法。这样,您可以更少地维护旧选项卡,因为它们可以更快地删除,而留在JSP中的选项卡可以继续工作。

首先,将Angular应用程序root和所有bundle包含在要替换的选项卡的JSP中的某个位置。

<app-root></app-root>

<!-- Angular must load AFTER the app-root selector for bootstrapping  -->
<% if( request.getHeader("Host").equals("localhost:4200") ) { %>
  <!-- dev bundles, to allow the normal angular workflow on localhost -->
  <script src="inline.bundle.js"></script>
  <script src="polyfills.bundle.js"></script>
  <script src="styles.bundle.js"></script>
  <script src="vendor.bundle.js"></script>
  <script src="main.bundle.js"></script>
<% } else { %>
  <!-- production bundles -->
  <script src="inline.bundle.js?ver=${maven.build.timestamp}"></script>
  <script src="polyfills.bundle.js?ver=${maven.build.timestamp}"></script>
  <script src="main.bundle.js?ver=${maven.build.timestamp}"></script>
<% } %>

这假设你使用maven构建你的java项目,所以关闭构建版本的文件,让maven处理版本命名(以避免在发布版本时出现缓存问题)。否则,您必须找到一种方法将Angular生成的文件名插入到每个构建的JSP中。

ng build --prod --output-hashing none

一旦app-root被引导,就可以使用其他javascript移动它,只要你确保它不会从DOM中删除。

© www.soinside.com 2019 - 2024. All rights reserved.