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

从使用Freemarker - Liferay 7的主题访问portal-ext.properties中定义的属性

Freemarker是一种模板引擎,用于在Java应用程序中生成动态内容。它可以与Liferay 7主题一起使用,以访问在portal-ext.properties文件中定义的属性。

portal-ext.properties是Liferay Portal中的配置文件,用于存储各种配置属性。这些属性可以用于自定义Liferay Portal的行为和外观。通过在portal-ext.properties中定义属性,可以轻松地更改Liferay Portal的各种设置,而无需修改代码。

要从Freemarker - Liferay 7的主题访问portal-ext.properties中定义的属性,可以使用以下步骤:

  1. 确保portal-ext.properties文件位于Liferay Portal的正确位置。通常,它位于Liferay Portal的根目录下。
  2. 在Liferay 7主题中,使用Freemarker模板引擎来渲染页面。在Freemarker模板中,可以通过使用Liferay提供的内置对象获取portal-ext.properties中定义的属性。
  3. 使用Liferay提供的内置对象"themeDisplay"来访问portal-ext.properties中的属性。可以通过以下方式在Freemarker模板中访问属性:
  4. ${themeDisplay.getPortalProperty("property.key")}
  5. 其中,"property.key"是在portal-ext.properties中定义的属性的键。
  6. 例如,如果在portal-ext.properties中定义了一个名为"my.custom.property"的属性,可以使用以下方式在Freemarker模板中访问它:
  7. ${themeDisplay.getPortalProperty("my.custom.property")}
  8. 这将返回"my.custom.property"属性的值。

通过使用以上步骤,您可以从Freemarker - Liferay 7的主题访问portal-ext.properties中定义的属性。这使得在Liferay Portal中进行自定义配置变得非常方便。

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

相关·内容

【Android Gradle 插件】Gradle 扩展属性 ② ( 定义在根目录 build.gradle 扩展属性 | 使用 rootProject.扩展属性访问 | 扩展属性示例 )

文章目录 一、定义在根目录 build.gradle 扩展属性 二、扩展属性示例 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档...build.gradle 扩展属性 ---- org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org.../current/javadoc/org/gradle/api/Project.html 如果将 ext 扩展属性放到 Android 工程根目录下 build.gradle 构建脚本 , 则所有的...Module 模块下 build.gradle 都可以获取到该扩展属性值 ; 在 Module 下 build.gradle 可以使用 rootProject.扩展属性名 来访问定义在根目录...build.gradle 定义扩展属性值 ; 二、扩展属性示例 ---- 在根目录下 build.gradle 定义扩展属性 : // 定义扩展属性 , 其中变量对所有子项目可见 ext {

2.9K20
  • WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 定义属性也能使用绑定了

    如果你写了一个 MarkupExtension 在 XAML 当中使用,你会发现你在 MarkupExtension 定时属性是无法使用 XAML 绑定,因为 MarkupExtension...非依赖对象不能定义依赖属性,于是我们定义附加属性。 // 注意:这一段代码实际上是无效。...在 Value set 方法得到 value 值是一个 Binding 对象,而不是正常依赖属性得到绑定结果;这意味着我们无法直接使用 Value 值。...构造函数 attachedProperty 参数是需要定义附加属性。...因为前面我们说过,有一个附加属性才可以编译通过,所以附加属性是一定要定义 既然一定要定义附加属性,那么就可以用起来,接下来会用 构造函数 valueChangeCallback 参数是为了指定变更通知

    1.6K20

    对C7V5主题修改记录及本站使用定义代码等

    本篇文章主要记录了我对本博正在使用主题-C7V5 进行一些修改,方便给有需要的人参考,也为了日后升级主题时做一个参考。其中在 functions.php 添加代码几乎都不是原创。...自定义网站页面右侧滚动条 将下面代码添加到主题定义 css 或者 style.css 文件中就行: /*—滚动条默认显示样式–*/ ::-webkit-scrollbar-thumb{ background-color...在你模板 functions.php 中加入以下代码并保存,就可以实现中文文件名称在上传过程自动重命名了。...缩略图自动裁剪功能 //彻底禁止 WordPress 缩略图 add_filter( 'add_image_size', create_function( '', 'return 1;' ) ); 将默认主题标题分隔符...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:对C7V5主题修改记录及本站使用定义代码等

    77150

    「数字体验」Liferay数字体验平台(DXP)好处

    随着DXP版本发布,Liferay在它基础产品上做了一个范式转换。通过这个版本,Liferay现在已经定义了一个路线图,以应对未来技术趋势,比如微服务、数字体验管理、更智能、更快速构建管理。...在这篇文章,我们将挑选一些Liferay DXP新功能,并对它们进行详细探讨。 模块化: 这实际上意味着Liferay每个模块(特性)现在都是联合,可以核心Liferay安装中分离出来。...现在每个portlet都以微服务形式与另一个portlet通信,这与早期版本IPC不同。所有portlet属性现在都很容易公开,并且可以跨portlet使用。...最初,liferay主要核心类只能通过EXT或hook覆盖。现在在Liferay 7,所有东西都是一个包,你只需要覆盖你想要包。这使得定制更快,并且只定制我们想要。...Liferay现在允许您访问定义Java库并在实现中使用它们。 好处: 代码重用是关键优势,因为如果不想的话,不需要将逻辑重构为Liferay

    1.6K10

    聊聊Spring数据绑定 --- 属性访问器PropertyAccessor和实现类DirectFieldAccessor使用【享学Spring】

    以及应用运行环境Environment深度分析,强大StringValueResolver使用和解析 而属性访问器PropertyAccessor接口作用是存/取Bean对象属性。...为了体现这个接口它重要性,据我目前了解我此处贴出这么一句话: 所有Spring创建Bean对象都使用该接口存取Bean属性值 PropertyAccessor 它是可以访问命名属性named properties...(例如对象bean属性或对象字段)公共接口。...,循而往复即可~ PropertyAccessor使用Demo 本文以DirectFieldAccessor为例,介绍属性访问器PropertyAccessor使用~ 注备两个普通JavaBean。...来获取属性值~~~ 若我们开发只是单纯想直接获取属性值,不妨可以使用它,形如这样:new DirectFieldAccessor(client).getPropertyValue("redisURI

    2.3K30

    【实战技巧】CSS自定义属性以及在VUE3使用

    ---- 什么是css自定义属性 官方称之为 自定义属性 ,但我比较习惯叫它 变量 ,简单点说就是一种开发者可以自主命名和使用 CSS 属性. CSS变量和预处理器变量有什么不同?...CSS变量是浏览器中直接可用CSS属性,而预处理变量是用于编译成常规CSS代码,浏览器其实对它们一无所知。...我们可以在 样式表 ,在 内联样式 ,在 SVG标签 中直接使用CSS变量,甚至可以在 运行时 用JavaScript直接修改它。但是我们是 无法 对预处理器变量做上面这些操作....当然,可以同时使用CSS变量和预处理变量,他们是不冲突. CSS变量:语法 变量声明 css变量定义由--开头,这样浏览器能够区分 自定义属性 和 原生属性 ,从而将它俩分开处理。...VUE3.0,可以在CSS中使用 响应式变量, 通过下图可以看出,它原理就是运用了CSS自定义属性 我们先在HelloWorld.vue写入下方代码,我们使用定时器两秒以后修改color值,

    2.7K20

    Liferay Portal Json Web Service 反序列化漏洞(CVE-2020-7961)

    Liferay Portal对于JSON Web Service处理,在6.1、6.2版本中使用是 Flexjson库,在7版本之后换成了Jodd Json。...不过还有一些细节问题,感觉还挺有意思,作者文中那张向上查找图,想着idea也没提供这样方便功能,应该是自己实现查找工具,文中分析下Liferay使用JODD反序列化情况。...作者文中提到,Liferay Portal 7只能显示指定rootType进行调用,从上面Liferay对JODD JSONDeserializerImpl包装来看也是这样。...不过从作者分析可以看出,Liferay确实这样做了。...>),JSONWebServiceActionImpl类有个_jsonWebServiceActionParameters属性: 这个属性又保存着一个JSONWebServiceActionParametersMap

    1.4K20

    liferay和proxy server那点事

    反向代理和正向代理相反,对与访问者来说,你访问一个反向代理服务器后,它同样会原始服务器拿数据,但是这里和正向代理区别是,访问者不需要进行额外设置,反向代理服务器判断请求如何转发给原始服务器,之后把内容返还给客户端...然后访问www.163.com,使用f12抓包,可以发现请求相应头(response header),会增加一个字段 Via: "1.1 www.test.com" 大体意思就是,你打开...163页面,并不是网易浏览器直接获得,而是你配置叫做www.test.com代理服务器获得,真正访问网易服务器是www.test.com。...配置liferay 接下来就很简单了,只需要让liferay使用我们配置好proxy server即可。...当portal外部server,获取资源时,会使用代理,比如使用亚马逊s3 store云储存服务时。 参考 Apache配置正向代理与反向代理

    86410

    day76_淘淘商城项目_09_商品详情页面动态展示 + FreeMarker入门 + 静态化页面标签介绍 + 商品详情页面静态化页面实现_匠心笔记

    2.2、FreeMarker使用方法 我们在taotao-item-web测试使用FreeMarker。 把FreeMarkerjar包添加到工程。...2.4.1、取Mapkey值 上面的2.2、FreeMarker使用方法中演示代码就是该例子。...out.close();     } 输出文件如下: ? 注意:访问mappojopojo属性使用属性导航方式。...可以使用Activemq,订阅topic方式(监听商品添加事件)。 ? 多台服务器订阅同一个主题(topic) 多台服务器生成html都是一样。...为了提高redis高可用,把不常访问商品redis缓存清除:使用定时。     每次点击都会把key时间重置,当key在他生命中没有被点击就会redis清除,再次访问时再次添加。

    2.6K30

    个人门户系统设计方案

    通过信息实时获取、统一集化、主动推送性、应用个性化来实现对信息内容有效利用。 ? 现状 系统功能模块众多,缺少统一个用户信息门户系统以方便用户使用。...1、信息聚合到统一门户展示; 2、大大提高获取信息及信息处理效率; 3、统一展现方式、风格; 门户系统提供统一主题和皮肤设置 4、个性化定制; 用户可灵活定制门口中内容个显示风格 5、不同系统整合...个性化访问 个性化门户定制 1、导航和菜单定制 不同专业系统用户可根据权限选择定制个人门户导航和菜单 2、容器页面布局 提供多种布局供用户选择 3、Themes主题和Skin皮肤; 4、统一展现方式...主题皮肤布局设置 业务功能快捷方式:通过有效用户行为,对用户行为属性进行分析归纳,动态 生成用户常用业务快捷菜单和个性化业务导航。...2、基于于JQuery技术开发纯前端轻量级门户框架 由于web widget技术迅速发展,widget概念是将Portlet服务器端复杂配置管理转移到浏览器中用JS脚本配置实现,使用Js这样面向界面的

    4.4K40

    重学SpringBoot系列之整合静态资源与模板引擎

    2.访问引入js文件 自动检测依赖版本 测试 模板引擎选型与未来趋势 java web开发经历几个阶段 jsp开发阶段 使用java模板引擎 前端工程化 java模板引擎选型。...但是要特别注意,一旦自己指定了静态资源目录,系统默认静态资源目录就会失效。所以系统默认就已经足够使用了,尽量不要自定义。...1.pom引入依赖 我们可以WebJars官方查看maven依赖,如下图 例如:将bootstrap和jquery引入pom文件 org.webjars...th:每个属性和包含以下数据: index:当前迭代索引,0开始。...这是索引属性。 count:当前迭代序号,1开始。这是序号属性。 size:元素总量迭代变量。这是大小属性

    5.2K30

    struts2标签详解

    中有定义,name属性用于指向映射文件配置action函数,excuteResult是否执行结果集跳转 <s:action name="LoginAction" executeResult="true...,便于查找JSP页面<em>中</em><em>的</em>错误 6)引用资源文件标签:用于加载资源包到值栈,它可以允许标签<em>访问</em>任何资源包<em>的</em>信息,而不只是当前action相关联<em>的</em>资源包。...name<em>属性</em>用以指定资源包<em>的</em>类路径 如xxx.xxx.xxx.ApplicationMessages<em>中</em><em>定义</em>了标签:HelloWord=欢迎您!...struts2默认提供了5种<em>主题</em>(在此不做详细介绍): simple<em>主题</em>:最简单<em>的</em><em>主题</em> XHTML<em>主题</em>:默认<em>主题</em>,<em>使用</em>常用<em>的</em>HTML技巧 CSS XHTML<em>主题</em>:<em>使用</em>CSS实现<em>的</em>XHTML<em>主题</em> archive...<em>主题</em>:<em>使用</em>文档生成<em>主题</em> AJAX<em>主题</em>:基于AJAX实现<em>的</em><em>主题</em> 通过在struts.properties文件<em>中</em>改变struts.ui.theme,struts.ui.templateDir,struts.ui.templateSuffix

    1.5K20

    「内容管理系统」34个无头CMS应该在你技术雷达上

    没有内置编辑功能来调整你内容呈现-使它成为一个纯粹无头CMS。 该平台使用api和JSON来交付和呈现内容,与语言和数据库无关。 可用性:免费下载。 7. Core dna ?...ai是一种基于捷克共和国SaaS无头CMS,它允许开发者集成现有技术并使用自己选择语言、工具和框架构建站点。它还提供了几个sdk、对API安全访问以及sla保证正常运行时间。...在亚马逊Web服务(AWS)支持下,Solodev提供了企业级安全性、可伸缩性和冗余性。用户可以选择预先构建主题,比如我们鼓舞人心LunarXP设计模板,也可以自定义并从头开始。...内容与代码一起存储在Git,以便让内容驱动应用更快地上市。 可用性:开放源码,免费下载。 27. Liferay ?...位于加州钻石酒吧Liferay数字体验平台可以让用户完全无头,或者在混合或分离环境中使用Liferay

    7.3K11

    宜立方商城 第十天 使用freemarker实现网页静态化

    目前企业:主要用Freemarker做静态页面或是页面展示 2.2. Freemarker使用方法 把freemarkerjar包添加到工程。...模板语法 2.3.1. 访问mapkey ${key} 2.3.2. 访问pojo属性 Student对象。学号、姓名、年龄 ${key.property} 2.3.3....Controller 请求url:/genhtml 参数:无 返回值:ok (String, 需要使用@ResponseBody) 业务逻辑: 1、spring容器获得FreeMarkerConfigurer...2、FreeMarkerConfigurer对象获得Configuration对象。 3、使用Configuration对象获得Template对象。...网页静态化方案 输出文件名称:商品id+“.html” 输出文件路径:工程外部任意目录。 网页访问使用nginx访问网页。在此方案下tomcat只有一个作用就是生成静态页面。

    34020

    freemarker+yml介绍 以及freemarker与JSP区别

    目录 1. freemarker介绍  2. freemarker使用步骤   2.1 在pom.xml引入freeMarker依赖包   2.2 在springboot添加freemarker配置...二、freemarker 优点: 1、不能编写java代码,可以实现严格mvc分离 2、性能非常不错 3、对jsp标签支持良好 4、内置大量常用功能,使用非常方便 5、宏定义(类似jsp标签)非常方便...但是在复杂页面上(包含大量判断、日期金额格式化)页面上,freemarker性能比使用tag和eljsp好。 2、宏定义比jsp tag方便 3、内置大量常用功能。...在springboot添加freemarker配置 spring:        freemarker:         #指定HttpServletRequest属性是否可以覆盖controller...但是在复杂页面上(包含大量判断、日期金额格式化)页面上,freemarker性能比使用tag和eljsp好。 2、宏定义比jsp tag方便 3、内置大量常用功能。

    1.5K40

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

    还是HTTP 不仅可以用作表现层实现技术,而且还可以用于生成XML,JSP, 或Java等 目前企业主要使用freemarker做静态页面或页面展示 选择freemarker原因: 性能: 就性能而言...这个在建立 “宏库” 内置与Java语言无关字符串,列表,Map操作方法 能提示模版拼写错误以及其他错误 当访问一个不存在变量时,freemarker在执行模版时会报错 通过配置,可以指定freemarker...JSP嵌入freemarker模版 直接和Python对象一起使用 更强大XML转换功能 模版元程序: 捕捉到输出任意部分范本背景变量 任意解释范围变量,类似一个模版定义 thymeleaf thymeleaf...可以使用thymeleaf创建经过验证XML与HTML模板: 相对于编写逻辑代码,开发者只需将标签属性添加到模板即可 这些标签就会在文档对象模型DOM上执行预先制定好逻辑 thymeleaf具有良好扩展性...: 可以使用thymeleaf自定义模板属性集合,用来计算自定义表达式并使用定义逻辑 这样thymeleaf可以作为模板引擎框架 引入thymeleaf依赖 引入SpringBootthymeleaf

    89510
    领券