如何使用 React 重写 struts 应用程序,其中 returns jsp 页面?

How do I rewrite struts application which returns jsp pages using react?

我有一个使用 Struts2、struts 控制器 returns jsp 页面在 Java 中编写的 Web 服务,现在我想使用 React 重写前端组件,最好的开始方式是什么?

TLDR,您可以轻松地向您的利益相关者宣布,这将花费 months/year 或更多,具体取决于您的 application/team。

从 Web 应用程序体系结构的角度来看,这是一个巨大的转变。 Struts2 + JSP 正在后端进行 HTML 模板化。所以数据被注入到服务器上的 HTML 并且 HTML 也是从服务器返回的格式。

另一方面,React 是客户端 HTML 模板库。因此,预计通过 AJAX 调用和读取数据(以 JSON 或其他格式)与服务器通信,并使用 React 在客户端注入该数据。

所以这不会是简单的改变。您需要将所有 JSP 数据注入点分离到服务中,并通过控制器将它们公开为 JSON 数据(考虑到身份验证机制的更改、输入验证等)。重构之后,您可以开始将 JSP 模板移动到 React(最有可能是 JSX)中。但是在这条路上你意识到你可能想要使用一些 UI 状态管理(例如 Redux)。您还发现您希望将组件结构化为比大多数旧 JSP 模板更可组合的方式。没有提到您还需要移植一些嵌入到这些 JSP 中的 JS。也就是说,您最终可能会完全清除所有 JSP 并从头开始创建 UI 应用程序。

您还将在此旅程中发现诸如 JS 测试、UI 构建管道、资产捆绑和现代 UI Web 开发的更多优点,这将有助于整体重构。