首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Liferay -如何从webcontent velocity模板检索自定义文档类型的属性

Liferay是一款开源的企业级门户平台,它提供了丰富的功能和工具,用于构建和管理企业级网站、应用和门户。Liferay的核心特点包括可扩展性、灵活性和安全性,使其成为企业级云计算解决方案的理想选择。

在Liferay中,可以通过使用Web Content Velocity模板来检索自定义文档类型的属性。Web Content是Liferay中用于创建和管理网站内容的一种机制,而Velocity模板是一种模板引擎,用于在Liferay中生成动态内容。

要从Web Content Velocity模板检索自定义文档类型的属性,可以按照以下步骤进行操作:

  1. 创建自定义文档类型:在Liferay中,可以通过定义自定义字段来创建自定义文档类型。自定义字段可以包含各种属性,如文本、日期、数字等。通过定义自定义字段,可以为Web Content定义自定义属性。
  2. 创建Web Content:在Liferay中,可以使用自定义文档类型创建Web Content。在创建Web Content时,可以为其指定自定义属性的值。
  3. 编辑Velocity模板:在Liferay中,可以通过编辑Velocity模板来检索自定义文档类型的属性。Velocity模板使用特定的语法和标记,可以在生成页面时动态地插入内容。通过在Velocity模板中使用相应的语法和标记,可以检索自定义文档类型的属性。

以下是一个示例Velocity模板代码,用于检索自定义文档类型的属性:

代码语言:txt
复制
#set ($journalArticleLocalService = $serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService"))
#set ($groupId = $themeDisplay.getScopeGroupId())
#set ($articleId = "WEB_CONTENT_ARTICLE_ID")
#set ($version = "WEB_CONTENT_VERSION")
#set ($article = $journalArticleLocalService.getArticle($groupId, $articleId, $version))
#set ($customField = $article.getCustomField("CUSTOM_FIELD_NAME"))
$customField.getData()

在上述代码中,需要将"WEB_CONTENT_ARTICLE_ID"替换为要检索的Web Content的文章ID,"WEB_CONTENT_VERSION"替换为文章版本号,"CUSTOM_FIELD_NAME"替换为自定义字段的名称。通过执行上述代码,可以获取自定义字段的值。

对于Liferay的推荐产品和产品介绍链接地址,可以参考腾讯云的相关产品,如腾讯云服务器(https://cloud.tencent.com/product/cvm)和腾讯云容器服务(https://cloud.tencent.com/product/tke),这些产品可以与Liferay集成,提供稳定可靠的云计算基础设施和容器化解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

逃逸安全的模板沙箱(一)——FreeMarker(上)

•Exposed Object 通告中提及了通过模板 API 暴露出大量的可访问对象,而这些对象即为 SSTI 漏洞的入口,通过这些对象的方法或者属性可以进行模板沙箱的绕过。...可以看出这是Liferay赋予模板沙箱的主要安全机制。 可以看到,重点在于如何找到暴露出的对象,其次思考如何利用这些对象绕过Liferay的安全机制。 我们在编辑模板时,会看到一个代码提示框。...如何利用这些黑名单中提及的类,进行模板沙箱的绕过,我们放在下篇文章进行阐述,这里暂不讨论。 我们可以发现java.lang.Class类已被拉黑,也就是说模板解析的过程中不能出现Class对象。...文章开头提到过三种利用方式,但是由于 Liferay 自定义解析器的存在,均无法再被利用。...至此,利用思路在 Liferay 的安全机制下全部惨败。Liferay 健全的黑白名单机制,从根源上限制了大多数攻击思路的利用,可谓是“攻不破”的铜墙铁壁。

2.3K20

Ant_build.xml的最完整解释

核心任务是Ant自带的任务。 (2) 可选任务。可选任务实来自第三方的任务,因此需要一个附加的JAR文件。 (3) 用户自定义的任务。用户自定义的任务实用户自己开发的任务。 1....3.filelist类型 Filelist 是一个支持命名的文件列表的数据类型,包含在一个filelist类型中的文件不一定是存在的文件。以下是其所有的属性。...4.fileset类型 Fileset 数据类型定义了一组文件,并通常表示为元素。不过,许多ant任务构建成了隐式的fileset,这说明他们支持所有的fileset属性和嵌套元素。...8.mapper类型 Mapper类型定义了一组输入文件和一组输出文件间的关系,其属性如下。 (1).classname 表示实现mapper类的类名。...),pack(打包)任务,可以作为模板。

1.5K20
  • xwiki开发者指南-脚本

    Velocity 了解Velocity的第一件事情是它与其他脚本语言的2个不同方面: 这是一个模板语言,而不是一个纯粹的脚本语言,这意味着它的内容实际上是Velocity指令穿插wiki标记,而纯粹的脚本语言是该语言编写的...注意,从XWiki 4.1我们引入了一个Sandbox for Groovy,但它仍在初期阶段。 作为一个模板引擎,Velocity不提供结构化代码。事实上,在这方面只有一个有用的指令,#macro。...这不是在我们文档的范围之内教你所有关于Java或面向对象的编程细节。你可以在网上找到所有已经存在的信息。你还可以游览整个扩展wiki,看看别人是如何实现各种效果的页面代码。...: 检查当前用户是否有编程权限 $isAdvancedUser: 高级用户: superadmin,用户的用户类型属性设置为“Advanced”,拥有管理员权限的游客 例如: {{velocity}}...在扩展wiki查看Groovy代码片段(在标签云点击"Groovy"标签) Groovy网站 Groovy例子 下面的例子演示了如何使用Groovy脚本在你的页面与velocity代码交互。

    1.5K10

    Velocity魔法堂系列二:VTL语法详解

    注释(行注释、 块注释、 文档注释) 四. 直接输出的内容 五. 引用(变量、属性、方法) 六....变量的数据类型为: Integer、Long等简单数据类型的装箱类型; String类型; Object子类; Object[] 数组类型,从1.6开始Velocity将数组类型视为 java.util.List...{变量名.属性}, 正规写法     属性搜索规则:      Velocity采用一种十分灵活的方式搜索变量的属性, 具体如下: // 假如引用$var.prop,那么Velocity将对prop进行变形...入参的数据类型 $变量 或 $属性,数据类型参考第一小节; 范围操作符(如:[1..2]或[$arg1.....#foreach指令遍历 内置属性$foreach.count ,用于指示当前循环的次数,从0开始。

    1.8K50

    微服务架构Day03-SpringBoot之web开发配置

    静态html嵌入标签属性,浏览器可以直接打开模板文件,便于后端联调2. SpringBoot框架推荐模板 1.模板必须符合xml规范2....velocity的性能是最好的 freemarker: freemarker比velocity简单,因为velocity必须编写一些自定义的toolbox以及一遍一遍重复的编写一些比较通用的模版代码...: 比较和格式化显示日期或者时间值 执行运算和比较,对任意数量的类型,包括精度类型,而不仅仅是整数 国际化: 格式数字区域,各种各样的内置和自定义数字格式模式 格式日期地区和时区,各种各样的内置和定制的日期格式模式...可以使用thymeleaf创建经过验证的XML与HTML模板: 相对于编写逻辑代码,开发者只需将标签属性添加到模板中即可 这些标签就会在文档对象模型DOM上执行预先制定好的逻辑 thymeleaf具有良好的扩展性...: 可以使用thymeleaf自定义模板属性集合,用来计算自定义表达式并使用自定义逻辑 这样thymeleaf可以作为模板引擎框架 引入thymeleaf依赖 引入SpringBoot中的thymeleaf

    90210

    小书MybatisPlus第7篇-代码生成器的原理精讲及使用方法

    所以代码生成器的模板文件不再专指HTML页面模板文件,可以是任何类型的代码文件。...模板引擎的输出结果在项目中是输出给浏览器进行页面渲染的,但是对于代码生成器而言,模板引擎的输出结果是保存到磁盘文件。 ? 二、如何编写模板文件 要编写模板文件,首先我们要知道正常的代码待如何书写。...有了模板文件,我们想通过模板引擎生成代码,下面的一个问题就是数据从哪里来?...从数据库中来,比如:实体类名称、实体类字段名称、实体类字段类型等信息。类似于逆向工程,通过数据库表名、字段名、字段类型等信息生成实体信息。...依赖,MyBatis-Plus 支持 Velocity(默认)、Freemarker、Beetl,用户可以选择自己熟悉的模板引擎。

    1.7K30

    模板引擎Velocity 基础

    Context 主要封装了模板渲染需要的变量 Runtime 整个Velocity的核心模块,Runtime模块会将加载的模板解析成语法树,Velocity调用mergeTemplate方法时会渲染整棵树...详细介绍大家可以看官网,传送门放这里了:The Apache Velocity Project 2、 快速入门 这里给大家简单演示如何使用Velocity定义html 模板,然后将动态数据填充到模板中,...无论页面如何变化,只要变量名不变,那么后台程序就无需改动,前台网页也可以任意由网页制作人员修改。这就是Velocity的工作原理。...3.1 VTL注释 语法: 行注释: ## 行注释内容 块注释:#* 块注释内容1 块注释内容2 *# 文档注释:#** 文档注释内容1 文档注释内容2 *# 代码演示: 3.2 非解析内容 什么是非解析内容...内置属性: $foreach.index 获取遍历的索引 , 从0开始 $foreach.count 获取遍历的次数 , 从1开始 3.4.2 引入资源 指令 描述 #include 引入外部资源 ,

    5.6K20

    模板注入漏洞全汇总

    1、 模板引擎介绍 1.1 模板引擎介绍 在MVC的设计模式下,一般从 Model 层中读取数据,然后将数据传到 View 层渲染(渲染成 HTML 文件),而 View 层一般都会用到模板引擎...模板引擎包含了各种参数,并能够由模板处理系统通过识别某些特定语法来替换这些参数的文档,用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)。...模板专注于如何展现数据,而在模板之外可以专注于要展示什么数据。模板引擎可以让网站程序实现界面与数据分离,业务代码与逻辑代码分离,这样提升了开发效率,良好的设计也使得代码重用变得更加容易。...3.2 Velocity Velocity是另一种流行的Java模板语言,同样发现了两个可以利用的方法和属性: $ class.inspect(类/对象/串) 返回一个检查指定类或对象的新ClassTool...AngularJS读取自定义的HTML,并将页面中的输入或输出与JavaScript变量表示的模型绑定起来。

    8.4K20

    Velocity 语法详解「建议收藏」

    一个比较普遍的应用是将 xdoc 文档转换成带样式的 HTML 文件。 一、变量 1. 变量定义 velocity 中的变量是弱类型,大小写敏感。...对于一个复杂对象类型的变量,例如 person,可以使用 {person.name} 来访问 person 的 name 属性。...变量赋值 对于 Velocity 来说,变量是弱数据类型的,可以在赋了一个 String 给变量之后再赋一个数字或者数组给它。 赋值的左边必须是一个变量或者属性引用。...赋值的右边可以是以下6种类型之一: 变量引用 字面字符串 属性引用 方法引用 字面数字 数组列表 #set($foo = $bar) #set($foo ="hello") #set($foo.name...(2)Velocity 模板中未被定义的变量将会认为是字符串。

    2.1K10

    Spring MVC各组件近距离接触--下下--05

    至于该view实例是什么类型,具体如何完成工作, Dispatcherservlet是无须关心的。...不过,对于我们来说,了解各个view实现类的实现原理, 有助于我们更好地理解整个框架是如何运作的, 并且, 如果现有的view不能够满足我们的需要, 我们也可以自定义一个需要的view实现类。...公开Velocity Tools(http://velocity.apache.org/tools/devel/)的DateTool和NumberTool给模板使用。...因为面向二进制文档格式的 view 实现没有一个统一的模板形式,所以, Spring MVC 无法提供通用的 view 实现类,只能在抽象父类中提供部分共同逻辑的实现,而具体的模型数据如何融入视图的显示逻辑...有关面向二进制文档格式的 view 实现的使用,我们可能需要使用“面向多视图类型的 ViewResolver " ,因为没有特定于二进制文档格式 View 实现的 ViewResolver 可用。

    84730

    MybatisPlus——全网配置最全的代码生成器

    MybatisPlus代码生成器 这里讲解的是新版 (mybatis-plus 3.5.1+版本),旧版不兼容 官方文档:https://baomidou.com/(建议多看看官方文档,每种功能里面都有讲解...) 配置 这里的配置表格和官方文档一致 数据源配置(DataSource) 属性 说明 示例 url jdbc路径 jdbc:mysql://127.0.0.1:3306/mybatis-plus username...(TemplateEngine) 默认 Velocity ;可选模板引擎 Beetl 或 Freemarker。...commentDate("yyyy-MM-dd hh:mm:ss") //注释日期 .dateType(DateType.ONLY_DATE) //定义生成的实体类中日期的类型...@NoArgsConstructor @AllArgsConstructor 代码生成的实体类时间是Date,如果需要用到自动填充就需要手动将时间的字段改成LocalDateTime类型 -

    3.5K20

    Idea市场插件

    现在,可以通过 CodeMaker 来定义 Velocity 模版来支持自定义代码模板来生成代码。目前,CodeMaker 自带两个模板。...Model:根据当前类生成一个与其拥有类似属性的类,用于自动生成持久类对应的领域类。Converter:该模板需要两个类作为输入的上下文,用于自动生成领域类与持久类的转化类。...我们可以使用提供的 velocity 模板定制单元测试输出代码。如果在已经存在单元测试的地方创建了单元测试,则会提示用户进行覆盖或合并操作。合并操作允许用户有选择地创建目标文件内容。...详细使用文档,参考:https://github.com/zzz40500/GsonFormat 那么,如何使用呢?...生成对象set方法:GenerateAllSetter 开发中,有时可以通过BeanUtil等工具类进行对象之间的属性拷贝,但有时候也需要手工进行赋值。

    76830

    MyBatisPlus新版代码生成器(Velocity模板引擎详解)

    一、Velocity模板引擎 1、velocity简介 Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据 , 填充到模板中,从而实现界面和java代码的分离。...应用场景 Web应用程序 : 作为为应用程序的视图, 展示数据 源代码生成 : Velocity可用于基于模板生成Java源代码 自动电子邮件 : 网站注册 , 认证等的电子邮件模板 网页静态化 :...#break : 退出循环 内置属性 : foreach.index : 获取遍历的索引 , 从0开始foreach.count : 获取遍历的次数 , 从1开始 遍历Map #foreach...velocity模板里的变量),模板引擎配置(支持多种模板引擎,默认Veloctiy引擎)。...velocity模板 2.1、MybatisPlus自带模板和变量 只需要关注.vm结尾模板即可(属于velocity引擎模板),其他模板是其他模板引擎的模板,这里不做过多介绍。

    18210

    NVelocity标签使用详解

    本文使用的NVelocity版本为1.1.1,应该是目前为止最新的版本吧,前几天在google上找了一个自称是NVelocity 1.6.1 bate2的dll,下载下来一看更新时间是2009年的,还没版本...本文目录: 一、资源、文档下载: 官方下载地址与参考文档 其他下载地址(版本比较低不建议下载) 本文NVelocity 1.1.1 dll与示例下载 NVelocity 使用文档下载 二、使用步骤...a) 创建Velocity 引擎(VelocityEngine)并设置属性.   b) VelocityContext 上下文对象创建于设置.   ...c) 使用VelocityEngine(Velocity 引擎)创建模板(Template).   d) 合并模板和上下文对象、输出. 三、代码演示。   ...(RuntimeConstants.RESOURCE_LOADER, "file"); // Velocity加载类型 velocityEngine.AddProperty

    1.1K80

    Velocity引擎原理探究

    一、前言 常见的Java模板引擎有JSP、Freemark,Velocity。...在MVC三层框架中,模板引擎属于view层,实质是把model层内容展现到前台页面的一个引擎,velocity以其前后端解耦使前后台可以同时开发和其语法的简易性得到了广泛的应用,集团WebX框架就建议使用它作为模板引擎...初始化 上节讲了集成velocity需要的一些bean的定义,下面看下如何实例并初始化: ?...TemplateServiceImpl对象,但是要首先创建成员变量engines里面的VelocityEngineImpl,所以首先创建了它,然后调用init初始化,初始化过程首先获取webx-compoment.xml里面配置的插件等用户自定义属性...,然后初始化默认的velocity.properties,然后用户属性覆盖默认属性,这也说明webx框架还是留有口子,让用户自定义veloctiy行为。

    1.8K20

    使用 Velocity 构建一个web应用

    Consistency - Velocity能够被用来执行其他类型的文本生成任务(比如发送邮件),从而提供一种一致的文本信息格式配置。...本文档提供一些关于在web应用中使用Velocity的入门信息。 使用一个框架 原始的使用Velocity引擎的目标是根据模板生成文本。所以Velocity中本身并没有包含任何和web相关的功能。...创建一个dispatcher servlet, 从文件系统或者数据库中抽取模板,加入你的业务逻辑数据,然后把结果发送给用户。 在已有的框架基础上定制,常常可以让你更加的节约时间。...这样就可以让 WebAppResourceLoader 知道如何去寻找到模板文件。...一般情况下,你可能想要阻止模板设计人员去包含“危险”的反射相关的方法,这时可以制定SecureUberSpector对象去 get/set 属性,执行方法调用。

    60930

    我只装迅速提升效率的 IntelliJ IDEA 插件

    现在,可以通过 CodeMaker 来定义 Velocity 模版来支持自定义代码模板来生成代码。目前,CodeMaker 自带两个模板。...Model:根据当前类生成一个与其拥有类似属性的类,用于自动生成持久类对应的领域类。Converter:该模板需要两个类作为输入的上下文,用于自动生成领域类与持久类的转化类。...我们可以使用提供的 velocity 模板定制单元测试输出代码。如果在已经存在单元测试的地方创建了单元测试,则会提示用户进行覆盖或合并操作。合并操作允许用户有选择地创建目标文件内容。...详细使用文档,参考:https://github.com/zzz40500/GsonFormat 那么,如何使用呢?...生成对象set方法:GenerateAllSetter 开发中,有时可以通过BeanUtil等工具类进行对象之间的属性拷贝,但有时候也需要手工进行赋值。

    3.3K40

    Spring Boot-web开发详解

    Property 在 Web 开发的过程中,我经常需要自定义一些配置文件,如何使用呢 配置在 application.properties 中 com.neo.title=JAVA架构学习...类似 JSP,Velocity,FreeMaker 等,它也可以轻易的与 Spring MVC 等 Web 框架进行集成作为 Web 应用的模板引擎。...好了,你们说了我们已经习惯使用了什么 Velocity,FreMaker,beetle之类的模版,那么到底好在哪里呢? 比一比吧 Thymeleaf 是与众不同的,因为它使用了自然的模板技术。...这意味着 Thymeleaf 的模板语法并不会破坏文档的结构,模板依旧是有效的XML文档。模板还可以用作工作原型,Thymeleaf 会在运行期替换掉静态值。...从根本上颠覆了这一过程,通过属性进行模板渲染不会引入任何新的浏览器不能识别的标签,例如 JSP 中的 <form:input style="box-sizing: border-box; margin

    1.6K40
    领券