Apache Struts is a modern, maintained and full-featured web framework. It has been there for years and give the huge user base it is unlikely it will go away anytime soon in the future. Not only that we have dedicated users and developers on the project. Apache Struts is licensed to the Apache License 2.0 and this will not change. We maintain a clean IP and you are “safe” to use the project. Sometimes you are not “safe” to use a project when a company controls the SCM (Source Control Management). Access to Source Code doesn’t mean it is free. With Apache Struts, you are not only free to “do what you want with it”, you can even contribute (which is not always the case). And best of it: you can become a part of the core team too.
It is usually very easy to integrate other technologies with Apache Struts. If you are using an ORM like Apache Cayenne, Hibernate or JDBC you will not have any restrictions. Apache Struts is not even tied too much to a frontend technology. In old days it was JSP, then came Velocity and Freemarker. Nowadays you might build your web application with just static HTML and AngularJS. Or you want to use Sitemesh or Tiles. This all is no problem due to Struts elegant and easy to use extension mechanisms.
Unlike other, component oriented frameworks, we do not aim to hide the stateless nature of the web. We think it is perfectly acceptable to build upon a Request/Response cycle. We also think the MVC pattern is not so bad, just because it is old. In fact, we believe the Apache Struts architecture is clean and easy to understand.
Of course, if you wish to build components on the server side which render on the front end side, you are most likely wrong with Struts. This is a different approach which promises to reduce the amount of HTML/JavaScript knowledge needed and to create reusable components for the view layer. Projects like Wicket and Tapestry serve this purpose very well. As with every framework you need to decide if it makes sense for you to build components or if you are better with the Struts-approach.
translate:
翻译:
Apache Struts是一个现代的、维护的、功能齐全的web框架。它已经存在了很多年,给了庞大的用户群,它不太可能在不久的将来消失。不仅如此,我们有专门的用户和项目开发人员。Apache Struts被授权使用Apache License 2.0,这一点不会改变。我们保持一个干净的IP,你是“安全的”使用项目。有时,当公司控制SCM(源代码管理)时,使用项目是不安全的。访问源代码并不意味着它是免费的。使用Apache Struts,您不仅可以“随心所欲地使用它”,甚至可以做出贡献(情况并非总是如此)。最好的是:你也可以成为核心团队的一员。
将其他技术与Apache Struts集成通常非常容易。如果您使用的是类似于Apache Cayenne、Hibernate或JDBC的ORM,您将没有任何限制。Apache Struts甚至不太依赖于前端技术。以前是JSP,后来是Velocity和Freemarker。现在,您可以使用静态HTML和AngularJS构建web应用程序。或者您想使用Sitemesh或Tiles。由于Struts优雅且易于使用的扩展机制,这一切都没有问题。
与其他面向组件的框架不同,我们的目标不是隐藏web的无状态特性。我们认为在请求/响应周期的基础上进行构建是完全可以接受的。我们也认为MVC模式并没有那么糟糕,只是因为它已经过时了。事实上,我们相信Apache Struts体系结构是干净且易于理解的。
当然,如果您希望在服务器端构建呈现在前端的组件,那么您很可能会误解Struts。这是一种不同的方法,它承诺减少所需的HTML/JavaScript知识量,并为视图层创建可重用的组件。像Wicket和Tapestry这样的项目很好地实现了这个目的。与每个框架一样,您需要决定构建组件是否有意义,或者您是否更适合使用Struts方法。