1

我曾经使用 JSP 作为视图技术。但是对于 JSF-2.0,新的推动力是让开发人员使用 Facelets 作为他们的模板技术。但这是否是一个严重的问题?如果我继续将 JSP 用于 JSF 中的视图,我会失去什么吗?究竟比这项技术更好?XHTML 和JSP 的工作有什么根本区别吗?如果有人能回答我将不胜感激!谢谢

4

3 回答 3

3

新的视图范围和 Facelets 的包含是 JSF 的主要改进以及支持 ajax 和注释。该技术是 JSF 2.0 中一个非常重要且强大的属性。所以我不建议在没有必要的情况下忽略它。

JSP 不鼓励使用 JSF 2.0,因为 Facelets 为开发用户界面提供了比传统 JSP 更清晰和灵活的机制。由于几个基本原因,Facelets 要好得多:

  • Facelets 标记不需要在标记库描述符文件 (TLD) 中声明。
  • 标签中的属性是动态的,它们会自动映射到属性。这是 JSP 中不可用的主要功能之一是页面。
  • 非常有用的页面模板功能。您定义一个模板,该模板为具有自定义范围的所有视图页面定义通用布局。
  • JSF 规范的 JSP 端是静止的。没有任何涉及新标签(复合组件、ajax、系统事件等)的新特性通过 JSP 公开。
  • 此外,Facelets 的执行速度比 JSP 快。

总的来说,JSF 2.0 中的 JSP 作为视图技术被认为比较麻烦且难以维护

于 2012-04-29T23:09:23.063 回答
1

如果您使用 JSF,那么您真的应该使用 Facelets 而不是 JSP,因为 JSP 和 JSF 并不能很好地匹配。主要问题是 JSP 世界对JSF 生命周期一无所知。您可以阅读本文以获取一些示例。Facelets 没有这些问题,因为它是专门为匹配 JSF 而创建的。

于 2012-04-29T23:17:23.183 回答
-3

xhtml和jsp之间没有选择。JSP 是一种服务器端模板机制,用于创建基于文本的响应以发送到浏览器。该文本响应可以是 xhtml、html、json、xml 或任何其他文本格式。因此,您可以使用 jsp 创建 xhtml - 您无需在它们之间进行选择。

仅仅因为您更改了扩展名并不意味着您正在做任何不同的事情。你只是在改变你所说的 - 没有特别的理由这样做,这很令人困惑。

于 2012-04-29T23:01:16.623 回答