java - Angular 2 与现有 Java 应用程序

标签 java angular

我有一个现有的 javaee 应用程序,其中包含用 JSP 编写的多个页面。

我的要求是使用 Angular 2 在 3 个独立页面上创建功能。

因此,在每个页面上,我都会有一个包含 Angular2 组件的 div,该组件对特定表执行 CRUD 操作。页面的其余部分仍然是jsp。

Angular 的功能和页面完全不相关。例如,一个页面管理帐户、其他产品等。

我是 Angular2 的新手,所以我的问题更多是关于设计和部署。

1) 我应该为每个功能创建 3 个不同的 Angular 2 应用程序,还是一个包含 3 个组件的应用程序。如果我选择后者,那么我的根组件会是什么样子?

2)如何在现有的Javaee应用程序中导入Angular2应用程序?我应该编译.bundle 然后复制该包吗?

正如我所提到的,我是 Angular2 的新手,因此任何指导都会非常有帮助。

最佳答案

Angular 适用于“单页应用程序”,加载它通常很昂贵,但加载后导航很便宜。

您可以使用 Angular CLI 来构建和服务您的应用程序。您将需要由“ng build”(Angular CLI 命令)生成的构建包含在您的 war 文件中,并且可能将 index.html 的内容移动到您的某些 JSP。

您完成了 Angular 教程(英雄之旅)吗?如果没有,请尝试一下,很多事情都会变得更加清晰。

编辑:

也许您可以考虑用 Angular 重写现有的 JSP,这样它就是一个带有路由的应用程序。但如果您确实需要在 JSP 中加载它 3 次,我可能会只编写一个包含四个模块的应用程序 - 三个模块代表页面,看起来像 AppModule。在 main.ts 中,您将根据应用程序配置加载模块。最后一个模块将是它们之间共享的代码。这比 3 个独立的应用程序更容易维护。

启动模块

在 main.ts 中,您通过调用 platformBrowserDynamic().bootstrapModule(AppModule) 来启动应用程序。因此,您可以导入所有模块并仅引导其中之一。如果你使用Angular CLI,你还可以导入“environment”=configuration,这样你就可以根据它来决定加载哪个模块。

关于java - Angular 2 与现有 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43188975/

相关文章:

java - 在新的事务范围内更新对象

java - 我的游戏不会停止显示获胜者

模板中的 Angular 方法调用

angular - 如何在 Angular 中使用 Azure 应用程序配置

java - 纯抽象类和接口(interface)

java - 来自 byte[] 的 BitSet 长度奇怪

java - 性能方面功能的优化实现

javascript - 如何将 Angular2 Material 添加到 Angular-CLI 中?

Angular - 组件中订阅函数的单元测试

angular - 错误 : Template parse errors: Can't bind to 'myProperty' since it isn't a known property of 'myComponent'