Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JSF到AngularJS框架_Angularjs_Jsf - Fatal编程技术网

从JSF到AngularJS框架

从JSF到AngularJS框架,angularjs,jsf,Angularjs,Jsf,我有一个web应用程序(稳定且运行),它是使用以下技术堆栈构建的 Java、Spring、Hibernate、JSF、HTML、WebSphere9、Gradle等 打包是以ear的形式完成的,并将其部署到WebSphere上 现在我想更改技术堆栈,用AngularJs替换完整的JSF组件。 请有人给我引路。 这有多容易?我应该遵循什么样的可行项目结构,这样我就需要最少的努力 要将我的JSF应用程序转换为AngularJs应用程序 提前感谢您将面临相当大的重写工作量。实际上,这取决于现有应用程序

我有一个web应用程序(稳定且运行),它是使用以下技术堆栈构建的 Java、Spring、Hibernate、JSF、HTML、WebSphere9、Gradle等

打包是以ear的形式完成的,并将其部署到WebSphere上

现在我想更改技术堆栈,用AngularJs替换完整的JSF组件。 请有人给我引路。 这有多容易?我应该遵循什么样的可行项目结构,这样我就需要最少的努力 要将我的JSF应用程序转换为AngularJs应用程序


提前感谢

您将面临相当大的重写工作量。实际上,这取决于现有应用程序的大小。您的应用程序逻辑需要移动到客户端javascript/typescript中,或者移动到您需要构建以支持应用程序的服务器端API中。这是一个相当大的努力。通过利用部分页面重新加载,您可能能够在JSF应用程序中获得一些速度/性能改进,或者尝试使用TurboLink来加速页面转换

见:

我成功地将一些JSF和Struts应用程序重新构建为Angular+JavaRESTAPI应用程序。您可以保持hibernate模型的原样。您需要构建一个restapi,以便于在角度前端和Java后端之间查询/发送数据。进入REST控制器的代码可以从现有的支持bean中提取,但最终部分代码必须在前端重写,这取决于您希望应用程序如何工作


我可能建议的项目结构是将现有的hibernate代码添加到新的Jax-RS项目中。(您也可以使用SpringMVC,我从未使用过Spring,因此对它的功能不太熟悉)。并开始构建API,以提供对前端所需数据的访问。然后,将角度前端作为一个单独的项目进行构建。它最终可能被编译/混淆/打包到您的EAR项目中,并与应用程序的其余部分一起部署,或者作为静态web内容托管

您需要添加jsf默认拥有的“owasp”。并且来自支持bean的代码应该保持不变,因为支持bean中的代码与JSF相关。应使用现有服务开发新的rest代码。看见所以实际上你给出了错误的建议。在很多情况下,开发人员指责jsf难以重构代码,而这是由于以前的开发人员做错事造成的。我的JSF应用程序设计良好,易于维护,性能仍然很好,使用现代html5、css3、ajax等。。。并且是安全的。@kukeltje他说他想摆脱JSF,代之以Angular?是的,但是前端JSF托管bean中的代码是特定于JSF的,不应该移动到rest服务,而应该是新开发的。后端bean(可以是“JSF托管bean”)中的代码由前端托管bean调用,不需要转换为rest,只需获取其他注释(JSF也可以迁移到CDI)。如果这个架构不到位,开发人员通常会责怪JSF,但他们应该责怪自己或他们的前任。。。你说得对,我的评论不适用于这里。