2

任何人都可以对 Liferay Faces 和 JSF 连接有所了解。就像我无法理解 Liferay 面孔在以下场景中的作用。

JSF       ----> Model View Controller
Spring    ----> Dependency Injection
Hibernate ----> ORM
Liferay Faces  ----> ?????
4

3 回答 3

2

Liferay Faces 的核心是 Liferay Faces Bridge。该桥接器是一个名为“JSR 329:JavaServer Faces 1.2 规范的 Portlet 2.0 桥接器”规范的实现,您可以在此处阅读相关内容。谁在乎一座桥?什么是桥?出色地 ...

如果您编写 Faces 应用程序,您可能希望它们仅在诸如 Liferay 门户之类的 portlet 容器中工作,而不对应用程序进行任何更改。您可能会决定,学习如何编写应用程序以及学习如何满足客户的需求就足够学习和工作,而无需了解门户。

门户与单个 Web 应用程序的不同之处在于,它们试图聚合并为许多用户提供对许多网站上的许多应用程序的逻辑访问,而不仅仅是多对一。这是一个缩放问题。无论如何,这是 Liferay Faces 可以介入并帮助您的地方......

您学习并学习 JSF,收集客户的需求,编写代码,并且无需过多担心应用程序将如何在门户上运行。您只需将以下 jars 添加到您已经运行的 Web 应用程序中:

<dependency>
    <groupId>com.liferay.faces</groupId>
    <artifactId>com.liferay.faces.bridge.ext</artifactId>
    <version>5.0.3</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.liferay.faces</groupId>
    <artifactId>com.liferay.faces.bridge.impl</artifactId>
    <version>4.1.2</version>
    <scope>runtime</scope>
</dependency>

现在您的应用程序在门户上运行。所以基本上,Liferay Faces 应该帮助你,而不是强迫你学习太多关于门户环境的知识。Liferay Faces Bridge 为您将 JSF 生命周期映射到 Portlet 生命周期,因此您不必编写自己的 JSF 阶段映射(恢复视图、应用请求值、流程验证、更新模型值、调用应用程序和呈现响应)以及它们的每个相关事件处理过程)与一个 portlet 的阶段(渲染、操作、资源阶段和事件,如果有的话)。

注意:版本号可能会有所不同。转到https://liferayfaces.org为您的门户和 jsf 组合找到正确的 jar 版本。

tl;dr:Liferay Faces 帮助我忘记了必须记住一堆关于门户如何工作的东西。我可以只写我的应用程序,然后晚上睡觉。

于 2013-10-04T13:10:26.193 回答
0

他们的主要产品页面所述:

什么是 Liferay Faces

Liferay Faces 是一个伞形项目,它为 Liferay Portal 中的 JavaServer™ Faces (JSF) 标准提供支持。

它的模块:

Liferay Faces Alloy Liferay Faces Alloy 子项目提供了一套利用 Alloy UI 的 JSF UI 组件。

Liferay Faces Bridge Liferay Faces Bridge 子项目是 JSF 的 portlet 桥,它提供了在 Liferay Portal 中将 JSF Web 应用程序部署为 portlet 的能力。

Liferay Faces Portal Liferay Faces Portal 子项目提供 JSF 实用程序、EL 关键字和一套 JSF UI 组件,这些组件是 Liferay Portal 提供的 JSP 标记库的 Facelet 等效项。

于 2013-09-13T07:04:47.027 回答
0

Liferay 是一个非常流行的基于 Java 的 CMS liferay faces 是在 JSF 之上的扩展构建,例如 primefaces。

在此处阅读有关Liferay Faces 的更多信息

您可以在http://www.liferay.com/community/liferay-projects/liferay-faces/demos查看演示

于 2013-09-13T07:05:27.540 回答