java - JSP 向 Angular 6+ UI 提供信息

标签 java angular jakarta-ee jboss

我正在开始我的编程生涯,我一直在努力学习尽可能多的知识,特别是像 Angular 2+ 这样的"new"技术,尽管我更喜欢在后端工作。

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

不用说,这种转变应该在对后端进行最小程度的改变的情况下发生。然而,按照后端最初设想的方式,后端不是 RESTful(没有 REST API)。因此,它都是基于 Bean 的,这使得后端与前端紧密结合,从而导致可伸缩性成为一个问题。

尽管如此,考虑到创建这样的 RESTful 服务虽然不是完全不可能,但现在也不是一个选择,我有以下问题:

1) 是否可以使用 JSP 将数据“馈送到”我的 Angular UI!?我对这个主题做了一些研究,看来这是有可能的。

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

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

感谢您的帮助,

最佳答案

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

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

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

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

关于java - JSP 向 Angular 6+ UI 提供信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55817207/

相关文章:

java - Mac 上 Tomcat 8 的 CATALINA_BASE/webapps 文件夹在哪里?

angular - 回调中的 Typescript 泛型

Angular 7 : Unable to get the value from service which is shared between components

java - 为什么 ServletContext.addListener 使用泛型?

java - 使用 SQL 查询的基本 Hibernate 问题

java - 如何排除maven中的lib文件夹?

java - 如何在Jpanel区域内制作一个半透明的JPanel

启动时的 Java Web 应用程序

java - While(matcher.find()) - 错误 - 不起作用

angular - 如何使用 Angular 更改鼠标输入上的文本颜色