首页 > 解决方案 > JSP 向 Angular 6+ UI 提供信息

问题描述

我的职业生涯开始于编程,我一直在努力学习,特别是在 Angular 2+ 等“新”技术方面,尽管我更喜欢在后端工作。

我目前在一家公司工作,该公司有 4 个主要应用程序,所有应用程序都在 JBoss 应用程序服务器中使用 Java EE 7 运行。应用程序有一个用户界面,目前基于 Java Server Pages (JSP) 和 Java Server Faces (JSF)(主要使用 PrimeFaces 框架)。我的项目与将用户界面从那些“可怕的”xhtml JSF 页面迁移到 Angular 6+ 之类的东西有关。

不用说,这种过渡应该在对后端进行最小更改的情况下发生。但是,在最初设想后端的方式中,后端不是 RESTful(没有 REST API)。所以,它都是基于 Beans 的,这使得后端与前端非常紧密,这使得可扩展性成为一个问题。

话虽如此,考虑到创建这样的 RESTful 服务,虽然还没有完全取消,但现在不是一个选择,我有以下问题:

1) 是否可以使用 JSP 将数据“提供”给我的 Angular UI!?我对该主题进行了一些研究,似乎有某种可能。

2) 考虑到可以使用 JSP 页面,我会在这个过程中丢失多少 Angular“出色的工具和功能”(路由、双向绑定、服务注入等)?

有一些不偏不倚的意见会很棒,因为我知道我公司的人在这个问题上的立场(他们现在宁愿不花时间创建 REST API)而且我知道我的立场(我宁愿创建服务,因为这对我来说是一个很好的学习机会)。尽管如此,面对现实世界应用程序的挑战,我想知道社区的意见。

感谢您的帮助,

标签: javaangularjakarta-eejboss

解决方案


有偏见的意见,即使您要求的是无偏见的意见

我不是 JSP 的权威,但据我所知,这些是在后端呈现的服务器端模板。如果是这种情况,那么您不能将其与 angular 一起使用。也许您可以通过扩展加载 .jsp 文件的 webpack 配置和自定义插件以某种方式使其工作,但是您肯定会失去角度的 AOT 性能或 JSP 的动态特性。除此之外,无论如何,angular 正在向所有 AOT 移动。

我的建议和你的一样,写一个 RESTful 服务。它不应该花费太长时间,因为请求/响应已经可用。只需确保遵循正确的 REST 指南即可。

然后根据来自 jsp 的模板创建 Angular 应用程序。我想您可以一对一地复制这些,并将语法从 jsp 更改为 angular,并从 REST api 获取必要的数据并将它们填充到您的模板中


推荐阅读