Liferay 中 Velocity 访问对象详解

需积分: 1 0 下载量 41 浏览量 更新于2024-09-12 收藏 187KB PDF 举报
"这篇文档主要介绍了在Liferay Portal中如何在Velocity模板中访问对象,包括在主题、布局和CMS内容模板中的不同使用情况,并列举了可供使用的各种对象。" 在Liferay Portal中,Velocity模板被用于三个不同的地方,每个地方的行为略有差异。这三处分别是主题、布局模板和CMS内容模板。在主题中,假设开发人员拥有更大的灵活性来创建定制功能,但同时也意味着门户管理员需要承担安装可能导致系统崩溃的主题的风险。因此,Liferay提供了官方和非官方的插件以供选择。 在这些模板中,有多种对象可供使用,这些对象有助于进行更复杂的动态内容渲染和管理。以下是一些在主题、布局和CMS中可访问的对象: 1. **数组工具(arrayUtil)**:用于处理数组操作。 2. **浏览器嗅探器(browserSniffer)**:识别用户的浏览器类型和版本。 3. **日期格式(dateFormats)**:提供日期格式化的支持。 4. **日期工具(dateTool)**:处理日期相关的操作。 5. **日期工具包(dateUtil)**:与日期相关的辅助函数。 6. **转义工具(escapeTool)**:用于HTML、JavaScript等的字符串转义。 7. **扩展列本地服务(expandoColumnLocalService)**:处理扩展属性列的操作。 8. **扩展行本地服务(expandoRowLocalService)**:处理扩展属性行的操作。 9. **扩展表本地服务(expandoTableLocalService)**:管理扩展属性表的API。 10. **扩展值本地服务(expandoValueLocalService)**:处理扩展属性值的增删改查。 除了上述对象,还有其他许多工具和服务可以根据具体需求进行调用,如国际化(i18n)工具、用户(user)对象、组织(organization)对象、角色(role)对象等。在布局模板中,可以访问到与页面布局相关的参数和设置,而在CMS内容模板中,可以访问到文章内容、分类和其他CMS特定的信息。 在CMS中,有一些对象的访问可能会受到限制,这是为了确保内容的安全性和权限管理。例如,某些对象可能只对具有特定权限的用户或角色可见。 对于布局模板,它们通常用于控制页面的布局和样式,而CMS模板则用于生成动态内容。在运行时,还可以定义额外的变量,比如通过`init.vm`文件初始化的一些变量。此外,了解`Table of Contents`等内容可以帮助开发者更好地组织和导航模板结构。 Liferay的Velocity模板提供了一套强大的工具集,使得开发者能够灵活地在主题、布局和CMS中构建动态、交互式的用户界面。理解并熟练掌握这些可用对象,对于优化Liferay Portal的用户体验和内容管理至关重要。