哪个 Java Web 框架最适合 Web 设计人员? [关闭]

Posted

技术标签:

【中文标题】哪个 Java Web 框架最适合 Web 设计人员? [关闭]【英文标题】:Which Java web framework best accommodates web designers? [closed] 【发布时间】:2009-02-03 18:02:29 【问题描述】:

哪个 Java Web 框架最支持 “Web UI 设计师” 角色?也就是说,哪个框架可以让你:

在您的视图/页面上使用流行的网页设计工具(Xhtml 验证器、CSS 编辑器等) 无需在服务器上运行即可查看更改 快速制作不同 UI 选项的原型 支持“开发人员”和“设计人员”(术语故意含糊不清)之间(在某种程度上)清晰分离

与许多其他人一样,我发现我的大型、遗留 Struts 1.x 应用程序严重缺乏这些功能,这些应用程序使用大量 JSP 片段和包含。

我已决定将我的应用程序移植到 JSR-168/268 门户环境,但尚未决定哪些 Java Web 框架将为这些 portlet 提供支持。我对任何类型(基于动作、基于组件等)持开放态度,一个关键标准是它对上述角色的支持程度。

我对 Tapestry 很感兴趣,它声称它的视图是符合 XHTML 的页面(只是在它们上添加了额外的 Tapestry 特定属性以在运行时处理)。这听起来就像它可以很好地与 Web UI 设计师的工具包配合使用。但是,我想知道这是否是现实世界中实际发生的情况,或者是否需要妥协。

当然,如果有比 Tapestry 更好的东西,我很想听听!

【问题讨论】:

【参考方案1】:

试试Wicket。它有你需要的一切。

【讨论】:

啊,是的,我看到它有一种类似于 Tapestry 的 HTML 方法(或者 Tapestry 的方法类似于 Wicket?)。一定会调查的。谢谢! 跟进 - Wicket 看起来非常非常漂亮。非常干净的关注点分离。现在我要开始制作原型了! Tapestry 一样,但没有 Tapestry 的可怕复杂性,我希望。【参考方案2】:

您可能会考虑使用 JSP 进行 ZK:http://zkoss.org/ 这完全是关于快速原型设计。很多东西都是设计的并且非常容易,但是扩展小部件很难。此外,如果您不知道自己在做什么,大型 Web 应用程序可能会出现性能问题。

【讨论】:

【参考方案3】:

如果您的企业计算需求很复杂,Tapestry 具有内置的 IoC 容器这一事实确实可以提供帮助。但是,如果您不熟悉这种类型的编程,这也会导致 Tapestry 的高学习曲线。将纯 HTML 页面更改为 Tapestry 页面很容易,因为 Tapestry 标签是非侵入性的。查看Jumpstart 获取示例。

【讨论】:

链接似乎不起作用 :-) 另外,Tapestry 现在的问题是完全不向后兼容。这就像 Struts 1 vs 2 的问题。我发现的文献中有一半不适用于我们选择的任何版本(3 或 4)。另外,我认为我们已经确定了 Wicket :-)【参考方案4】:

我认为 Spring MVC 对你来说是更好的选择。 它对你来说很熟悉(它是动作框架),它支持你所需要的一切。

如果您想尝试 OO/组件框架,请尝试Apache Click。 Click 类似于 Tapestry,但比 Tapestry 和 Wicket 容易得多。

【讨论】:

【参考方案5】:

我在使用 JSTL 和 CSS、Spring 和 SiteMesh 的 JSP 方面取得了不错的成绩。 SiteMesh 尤其棒,因为它允许您编写不包含在内的页面。它充分利用了装饰器和复合模式。

网页设计师使用 HTML 和 CSS 使用 Dreamweaver 创建页面。开发人员将采用这些并使用 JSTL 添加动态位。页眉、页脚和其余部分是使用 SiteMesh 添加的。关注点分离很好。

【讨论】:

我对 SiteMesh 知之甚少,但现在我必须深入挖掘。谢谢!【参考方案6】:

Stripes MVC framework 可以满足您的所有需求。它是一个易于使用的 Web 框架,并且由于它是基于操作的,因此它接近 HTTP 和生成的 HTML,因此您可以完全控制自己的 HTML。

作为视图技术,它支持Freemarker 或带有自定义Stripes JSP 标签的JSP(无脚本!)。两种解决方案都完全符合 XHTML。

Stripes 框架支持快速原型设计。编辑完视图,不需要重新编译代码,甚至不需要重启服务器,重新加载页面即可。

关注点分离非常好。只是生成控制器命令它执行的操作的愚蠢视图。控制器代码也简单明了,不需要在 XML 文件中进行大量映射,所有这些都由 Java 5 @annotations 很好地默认和配置。 (参见:Wikipedia example code)。

不太了解portlet,但有一个Liferay 实现。

【讨论】:

【参考方案7】:

我最近尝试过,我对 RichFaces 非常满意,你可以看看如何呈现 here, 与小面连接。对我有用;)

【讨论】:

以上是关于哪个 Java Web 框架最适合 Web 设计人员? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

哪个 Linux 发行版最适合 Java Web 应用程序? [关闭]

PHP和Java的主要区别有哪些?哪个最适合Web开发语言?

Node.js vs Ruby on Rails:哪个最适合Web开发?

深入了解这些Java框架,看看哪个更适合你?

java的5个框架,哪个框架更适合你的项目?

WEB前端和UI设计哪个好?