java - 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)而且我知道我的立场(我宁愿创建服务,因为这对我来说是一个很好的学习机会)。尽管如此,面对现实世界应用程序的挑战,我想知道社区的意见。
感谢您的帮助,
解决方案
有偏见的意见,即使您要求的是无偏见的意见
我不是 JSP 的权威,但据我所知,这些是在后端呈现的服务器端模板。如果是这种情况,那么您不能将其与 angular 一起使用。也许您可以通过扩展加载 .jsp 文件的 webpack 配置和自定义插件以某种方式使其工作,但是您肯定会失去角度的 AOT 性能或 JSP 的动态特性。除此之外,无论如何,angular 正在向所有 AOT 移动。
我的建议和你的一样,写一个 RESTful 服务。它不应该花费太长时间,因为请求/响应已经可用。只需确保遵循正确的 REST 指南即可。
然后根据来自 jsp 的模板创建 Angular 应用程序。我想您可以一对一地复制这些,并将语法从 jsp 更改为 angular,并从 REST api 获取必要的数据并将它们填充到您的模板中
推荐阅读
- c++ - 在 Windows 上使用 C++ 运行 bash 脚本
- reactjs - 在 react+D3 中将更新逻辑与 useEffect 解耦
- html - 如何在图像文件中插入视频链接
- javascript - 如何使用 Javascript 从我的浏览器重定向到相机本机应用程序?
- react-native - React Native 钩子 - 正确使用 useEffect()?
- javascript - 如何使用带有 Javascript 的面向对象编程来操作 HTML DOM 元素
- halcon - 来自 HALCON 中的 3D 点的 2D
- python - Python - 正则表达式(Re.Escape,Re.Findall);如何:查找子字符串 + 字符串中子字符串之外的多个字符?
- ruby-on-rails - Rails Postgres - Jsonb 列查询
- google-cloud-platform - GCP 函数有多少磁盘空间?