freemarker

Liferay 7 Freemarker Template. staticUtil has evaluated to NULL or missing - Tried to get JournalArticle's Categories

不问归期 提交于 2019-12-06 06:25:34
Hi fellow Liferay'ers, I'm trying to get the categories of a journalArticle with a Freemarker template. I tried this code: <#assign journalArticleId = .vars['reserved-article-id'].data> <#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.portlet.journal.service.JournalArticleResourceLocalServiceUtil"]> <#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.portlet.asset.service.AssetCategoryLocalServiceUtil"]> <#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> <#assign categoryList

Freemarker, PDF, Header/Footer and page-breaks

坚强是说给别人听的谎言 提交于 2019-12-06 04:14:50
问题 A common use of Freemarker is the generation of a PDF. Unfortunally I have to generate a pdf with a lot of pages and "they" asking me to put an header with some information and a footer with somethings like "page 2/60" etc... Searching on web I found how to create a Macro template but it only share some common tags (like css) but it doesn't tell freemarker how to manage multipage PDF. In addition to this, sometimes I have, inside ftl, a "page-break css class" so I cant determine when and

FreeMarker学习系列之一

£可爱£侵袭症+ 提交于 2019-12-06 00:56:28
一. 基本概念 ${ ... } : FreeMarker将会输出真实的值来替换大括号内的表达式,这样的表达式插值 FTL 标签 (FreeMarker模板的语言标签): FTL标签和HTML标签有一些相似之处,但是它们是FreeMarker的指令,是不会在输出中打印的。 这些标签的名字以 # 开头。(用户自定义的FTL标签则需要使用 @ 来代替 #) 基本指令 if指令 使用 if 指令可以有条件地跳过模板的一些片段。 1 <html> 2 <head> 3 <title>Welcome!</title> 4 </head> 5 <body> 6 <h1> 7 Welcome ${user}<#if user == "Big Joe">, our beloved leader</#if>! 8 </h1> 9 <p>Our latest product: 10 <a href="${latestProduct.url}">${latestProduct.name}</a>! 11 </body> 12 </html> 1 <#if animals.python.price < animals.elephant.price> 2 Pythons are cheaper than elephants today. 3 <#else> 4 Pythons are not cheaper

How to access Java system properties from Freemarker templates?

非 Y 不嫁゛ 提交于 2019-12-05 22:57:25
I started using Freemarker for assembling simple HTML pages, using FMPP Maven plugin . So far so good. But one thing I need to do is to include value of a system property (one of system properties Maven provides) on a page. Is there a way to access system properties from Freemarker templates? (if not, I may just have to hack plugin to allow passing values from Maven) FMPP has a setting called data that specifies the variables that all templates will see, so that's where you should put the system properties. To put values into there, unless the value can be specified as a simple literal, you

Freemaker 自定义指令和函数

99封情书 提交于 2019-12-05 21:00:10
Freemaker 自定义指令和函数 自定义函数和指令都可以在前台或者后台进行指定。 个人理解:指令的作用,主要是进行页面调整之后进行输出;函数的作用,主要是为了进行运算,返回运算结果供前台展示。 (一) 自定义指令 使用以下格式调用自定义指令: <@user_def_dir_exp param1=val1 param2=val2 ... paramN=valN/> 定义在前台: < # macro name param1 param2 ... paramN> ... < # nested loopvar1, loopvar2, ..., loopvarN> ... < # return> ... </ # macro> 例子: < # macro test foo bar baaz> Test text, and the params: ${foo}, ${bar}, ${baaz} </ # macro> < # -- call the macro: --> <@test foo= " a " bar= " b " baaz=5*5-2/> 输出结果: Test text, and the params: a, b, 23 定义在后台: Java程序员可以使用TemplateDirectiveModel接口在Java代码中实现自定义指令。详情可以参加API文档。 注意:

关于Spring Boot整合Freemarker访问首页index.ftl访问不到问题解决

☆樱花仙子☆ 提交于 2019-12-05 19:35:25
关于关于Spring Boot整合Freemarker访问首页index.ftl报错的解决办法: 错误: This application has no explicit mapping for /error, so you are seeing this as a fallback. 目录结构: index.ftl 首页测试内容: <html> <body> <h2>我是首页</h2> </body> </html> Controller @Controller public class IndexController { @RequestMapping({"", "/"}) public String toIndex() { return "index"; } } 访问: http://localhost:8080/ 报错如下: 找了好久的错误,最终才知道是Spring Boot的版本问题,我使用的最新版本:2.2.1.RELEASE版本 解决办法:将Spring Boot版本降低为2.1.4.RELEASE,就不会报错了,亲身尝试过了!! <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4

Spring with FreeMarker: Could not resolve view with name 'Home' in servlet with name 'MyServlet'

夙愿已清 提交于 2019-12-05 18:15:58
I am trying to create a very simple integration of FreeMarker and Spring. However, when I run my example, I get an exception: GRAVE: Servlet.service() for servlet MyServlet threw exception javax.servlet.ServletException: Could not resolve view with name 'Home' in servlet with name 'MyServlet' at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1162) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet

springboot模板

时光怂恿深爱的人放手 提交于 2019-12-05 18:09:53
spring boot模板 spring boot分以下两个模板 1、thyme leaf模板 ===》 相当于html页面 2、free marker模板 Thymeleaf模板介绍 直接看代码 pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> Spring Boot官方文档建议在开发时将缓存关闭,修改application.yml文件 spring: thymeleaf: cache: false 案例演示 User 1 package com.yuan.springboot01.entity; 2 3 import lombok.Data; 4 5 @Data 6 public class User { 7 8 private Integer uid; 9 private String uname; 10 private String pwd; 11 12 public User(Integer uid, String uname, String pwd) { 13 this.uid = uid; 14 this.uname = uname; 15 this.pwd

Freemarker入门Demo

痴心易碎 提交于 2019-12-05 18:06:52
1:工程引入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> 2:创建模板文件 模板文件中四种元素 1、文本,直接输出的部分 2、注释,即<#--...-->格式不会输出 3、插值(Interpolation):即${..}部分,将使用数据模型中的部分替代输出 4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。 我们现在就创建一个简单的创建模板文件test.ftl <html> <head> <meta charset="utf-8"> <title>Freemarker入门小DEMO </title> </head> <body> <#--我只是一个注释,我不会有任何输出 --> ${name},你好。${message} </body> </html> 这里有文本、插值和注释 3:生成文件 使用步骤: 第一步:创建一个 Configuration 对象,直接 new 一个对象。构造方法的参数就是 freemarker的版本号。 第二步:设置模板文件所在的路径。 第三步:设置模板文件使用的字符集。一般就是 utf-8. 第四步:加载一个模板

网页静态化技术Freemarkerh简介

牧云@^-^@ 提交于 2019-12-05 18:03:16
1.1 为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道。 对于电商网站的商品详细页来说,至少几百万个商品,每个商品又有大量的信息,这样的情况同样也适用于使用网页静态化来解决。 网页静态化技术和缓存技术的共同点都是为了减轻数据库的访问压力,但是具体的应用场景不同,缓存比较适合小规模的数据,而网页静态化比较适合大规模且相对变化不太频繁的数据。另外网页静态化还有利于 SEO 。 另外我们如果将网页以纯静态化的形式展现,就可以使用 Nginx 这样的高性能的 web 服务器来部署。 Nginx 可以承载 5 万的并发,而 Tomcat 只有几百。关于 Nginx 我们在后续的课程中会详细讲解。 今天我们就研究网页静态化技术 ----Freemarker 。 1.2 什么是 Freemarker FreeMarker 是一个用 Java 语言编写的模板引擎 ,它基于模板来生成文本输出。 FreeMarker 与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP 。它不仅可以用作表现层的实现技术,而且还可以用于生成 XML , JSP 或 Java 等。 来源: https://www.cnblogs.com/wangju/p/11938882.html