我有一个现有的 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/