我想在 CDI/JSF2 应用程序中使用 RESTful 服务。我对 JAX-RS 不是很熟悉,但是我读到它的生命周期不能很好地与 CDI/JSF2 配合使用。是否可以将 JAX-RS 与 CDI/JSF2 合并到 JEE6 堆栈中?如果没有,还有其他选择吗?
谢谢
我想在 CDI/JSF2 应用程序中使用 RESTful 服务。我对 JAX-RS 不是很熟悉,但是我读到它的生命周期不能很好地与 CDI/JSF2 配合使用。是否可以将 JAX-RS 与 CDI/JSF2 合并到 JEE6 堆栈中?如果没有,还有其他选择吗?
谢谢
您可以将 JAX-RS与 JSF 应用程序一起很好地使用,但是它们不能很好地配合使用。例如,您不能使用 JAX-RS 让“ http://localhost:8080/story/92/ ”返回一个带有 ID 为 92 的 Story 实体的 JSF 页面。
但是,您可以使用PrettyFaces执行与此非常相似的操作。
JAX-RS 对非 JSF 资源有意义。“ http://localhost:8080/story.xml ” 对于 JAX-RS 来说非常有意义。
您可以从您的 JSF 模板调用您的休息服务。例如,您可以在http://localhost:8080/services/
返回 JSF 页面时运行其余服务http://localhost:8080/index.xhtml
。然后,您可以编写一些自定义 javascript 来从您的 JSF 页面调用您的休息服务。这实际上是 REST 服务的一般做法,因此它们可以被许多不同的 UI 使用。JSF 可能不是使用 REST 服务的最佳选择,但它是可能的。