Javascript 如何重写使用react返回jsp页面的struts应用程序?
我有一个使用Struts2用Java编写的web服务,struts controller返回jsp页面,现在我想使用react组件重写前端,最好的启动方式是什么?TLDR,您可以轻松地向您的利益相关者宣布,这将需要几个月/年或更长时间,具体取决于您的应用程序/团队有多大 从web应用程序体系结构的角度来看,这是一个巨大的转变。Struts2+JSP正在后端进行HTML模板制作。所以数据被注入到服务器上的HTML中,HTML也是从服务器返回的格式 另一方面,React是客户端HTML模板库。所以,它希望通过AJAX调用和读取数据(JSON或其他格式)与服务器通信,并使用React将数据注入客户端 因此,改变这一点并不容易。您需要将所有JSP数据注入点解耦到服务中,并通过控制器将它们公开为JSON数据(考虑到身份验证机制、输入验证等的变化)。重构之后,您可以开始将JSP模板移动到React(很可能是JSX)中。但在这种情况下,您会意识到您可能需要使用一些UI状态管理(例如Redux)。您还发现,您希望将组件构造成比大多数旧JSP模板更可组合的方式。没有提到您还需要在嵌入到这些JSP中的一些JS上进行移植。也就是说,您可能会彻底删除所有JSP,从头开始创建UI应用程序Javascript 如何重写使用react返回jsp页面的struts应用程序?,javascript,java,reactjs,struts2,templating,Javascript,Java,Reactjs,Struts2,Templating,我有一个使用Struts2用Java编写的web服务,struts controller返回jsp页面,现在我想使用react组件重写前端,最好的启动方式是什么?TLDR,您可以轻松地向您的利益相关者宣布,这将需要几个月/年或更长时间,具体取决于您的应用程序/团队有多大 从web应用程序体系结构的角度来看,这是一个巨大的转变。Struts2+JSP正在后端进行HTML模板制作。所以数据被注入到服务器上的HTML中,HTML也是从服务器返回的格式 另一方面,React是客户端HTML模板库。所以,
在此过程中,您还将发现JS测试、UI构建管道、资产捆绑以及现代UI web开发的更多优点,这些都将增加整体重构。实现只返回数据的API,然后编写组件来使用相同的数据。是的,这听起来是一个可行的开始方法。关于这一点,还有一个后续问题:您认为在这样的迁移之后,服务器端是否不需要struts层呢?考虑到服务器代码(业务逻辑、DAOs等)是用Java编写的,您建议编写API的框架是什么。一些不需要大量重写的东西,仍然可以给我一种方法来管理我的应用程序,而不需要引入不必要的桥来将所有东西粘合在一起。你忘记了broserify和其他东西的包装部分:DThanks luboskmac,您上面的回答清楚了在这种重构中所涉及的实际工作。