FreeMarker是一个基于Java的模板引擎,是一个基于模板生成文本输出(从HTML到自动生成的源代码)的通用工具。它是一个Java包,是Java程序员的类库。它本身并不是最终用户的应用程序,而是程序员可以嵌入到他们的产品中的东西。
我需要一些帮助来从属性(在 body 字段中)获取所有值,并在 freemarker 的列表中进行转换,以将每个值与另一个列表中的可能值进行比较。 下面是
我是 Freemarker 的新手,我需要一些帮助来从属性(在 body 字段中)获取所有值,并在 freemarker 的列表中进行转换,以将每个值与另一个列表中的可能值进行比较。
如何从Liferay 7.4中的ddmfieldattribute表中获取字段smallAttributeValue?
Liferay 7.4 将结构数据存储在“ddmfieldattribute”表中。我试图获取 ADT 模板中结构的字段,但找不到解决方案。 结构有...
我刚刚将 Struts 2 版本升级到 2.5.2,并开始出现错误。我的应用程序甚至无法启动。我对 pom.xml 和 web.xml 进行了更改。我不确定我是否错过了任何课程...
无法从 Spring Boot 方法返回 Freemarker 视图
目前,我正在做一个小项目,需要使用Spring Boot和FreeMarker模板引擎。我尝试了不同的方法,但仍然无法从 Spring Boot 返回 FreeMarker 视图。我的
JspTaglib [“http://tiles.apache.org/tags-tiles”]未定义:它无法分配给tiles
我正在对一个非常旧的Java项目进行更新转换,并在Spring Boot下进行转换。但是,我很难渲染首页,因为它们是用 Struts 2 构建的......
我是 freemarker 的新手。 在 freemarker 中,我想对 DateTime 执行算术表达式,如下所示: ${triggerTimestamp}-1h 但这是行不通的。有人可以帮忙吗?
我正在使用 Struts 2 和 Freemarker。这是我的动作课: 封装测试; 导入java.util.ArrayList; 导入java.util.List; 公共类WelcomeAction { 私有字符串用户名; 公关...
Freemarker.core.InvalidReferenceException 尝试验证用户输入时出现错误 Apache FreeMarker出租物业
有这样的ftlh文件和注册表: 出租物业 有这样的ftlh文件和注册表: <!DOCTYPE html> <html lang="en"> <head> <title>Rental Property</title> </head> <body> <h2>User Registration</h2> <form action="/registration" method="POST"> <label for="name">Name:</label> <input type="text" id="name" name="name" value="${userForm.name!}" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("name")> <div style="color:red;">${errors.getFieldError('name').defaultMessage}</div> </#if> <label for="lastName">Last Name:</label> <input type="text" id="lastName" name="lastName" value="${userForm.lastName!}" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("lastName")> <div style="color:red;">${errors.getFieldError("lastName").defaultMessage}</div> </#if> <label for="email">Email Address:</label> <input type="email" id="email" name="email" value="${userForm.email!}" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("email")> <div style="color:red;">${errors.getFieldError("email").defaultMessage}</div> </#if> <label for="phone">Phone:</label> <input type="tel" id="phone" name="phone" value="${userForm.phone!}"> <#if errors?? && errors?has_content && errors.hasFieldErrors("phone")> <div style="color:red;">${errors.getFieldError("phone").defaultMessage}</div> </#if> <label for="password">Password:</label> <input type="password" id="password" name="password" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("password")> <div style="color:red;">${errors.getFieldError("password").defaultMessage}</div> </#if> <label for="replayPassword">Repeat Password:</label> <input type="password" id="replayPassword" name="replayPassword" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("replayPassword")> <div style="color:red;">${errors.getFieldError("replayPassword").defaultMessage}</div> </#if> <label for="birthday">Date of Birth:</label> <input type="date" id="birthday" name="birthday"> <#-- <#if errors?has_content && errors.hasFieldErrors("birthday")>--> <#-- <div style="color:red;">${errors.getFieldError("birthday").defaultMessage}</div>--> <#-- </#if>--> <button type="submit">Register</button> </form> </body> </html> 有这样一种post请求处理方法: @PostMapping("/registration") public String registration(@ModelAttribute @Valid UserForm userForm, BindingResult result, Model model) { userValidator.validate(userForm, result); model.addAttribute("errors", result); if (result.hasErrors()) return "registration"; return "redirect:/"; } UserForm.java 类的每个字段上方是来自 jakarta.validation.constraints 的验证注释以及自定义验证器类。 当尝试在此控制器方法内发送有错误的数据时,验证将按其应有的方式工作,查找所有错误,并在尝试向用户显示不正确的数据时发生错误: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: ==> errors.getFieldError('name') [in template "registration.ftlh" at line 14, column 35] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${errors.getFieldError("name").defaul... [in template "registration.ftlh" at line 14, column 33] ---- at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) ~[freemarker-2.3.33.jar:2.3.33] at freemarker.core.UnexpectedTypeException.newDescriptionBuilder(UnexpectedTypeException.java:85) ~[freemarker-2.3.33.jar:2.3.33]... 我尝试将 ftlh 文件中的错误键更改为单引号,更改验证,发送整个组装的 UserForm 对象。 我怀疑问题是您没有启用公开 Java 8 默认方法。它是必需的,因为 FreeMarker 基于 java.beans.Introspector(官方 JavaBeans 内省器),而它忽略了它们。因此,正如 2.3.26 的版本历史记录所示(https://freemarker.apache.org/docs/versions_2_3_26.html): 添加了解决方法(默认情况下未启用)以将 Java 8 默认方法(以及它们定义的 bean 属性)公开给模板,尽管 java.beans.Introspector(官方 JavaBeans 内省器)会忽略它们,至少从 JRE 1.8.0_66 开始是这样。要启用此解决方法,请将 incompatibleImprovements 或 DefaultObjectWrapper 的 BeansWrapper 构造函数参数的值增加到 2.3.26,或者将其 treatDefaultMethodsAsBeanMembers 设置设置为 true。请注意,如果您将 object_wrapper 的 Configuration 设置保留为默认值,则将 incompatibleImprovements 的 Configuration 设置增加到 2.3.26 就足够了,因为它是由默认 object_wrapper 继承的。 我的建议是增加 incompatibleImprovements 的 Configuration 设置。否则,会模拟一些令人惊讶的问题以实现 100% 向后兼容性。有一个关于如何设置它的页面: https://freemarker.apache.org/docs/pgui_config_inknown_improvements.html#pgui_config_inknown_improvements_how_to_set
Velocity 还是 FreeMarker? 它们看起来几乎相同,甚至语法也是如此? 用什么?或者什么时候用什么?
Joda ISODateTimeFormat 不在字符串中使用时区
我有一个由两部分组成的问题,或者可能有两种不同的方法来解决这个问题。我收到一个类似于 2015-11-17T17:10:24-0800 的 ISO 字符串。最终目标是在某些 HTML 中将字符串显示为 11/17/15 5:10 PM
使用 N/render addRecord 将记录添加到渲染器时出现问题
我正在开发一个在新窗口中显示支票 PDF 的 Suitelet。一切都按预期工作,只是我现在在渲染 PDF 本身时遇到了问题。 常量 renderPdfTemplate = (
Spring Boot Freemarker 不会显示 html 页面
我有一个 Spring Boot 应用程序,我需要在其中使用 Freemarker 在浏览器中显示 HTML 页面。 我是 Freemarker 新手,我什至很难显示一个简单的 HTML 页面,而且我不知道...
freemarker 输出有问题... [#分配选项HTML = ""] [#将数据列为项目] [#分配 optionsHTML = optionsHTM...
Ftl 文件未在 Apache Camel+Springboot+Email 集成中呈现
Apache Camel+Springboot+电子邮件集成。 我正在尝试渲染一个 ftl 模板作为对发送到我的后端聊天机器人的电子邮件查询的回复。但是,我的 .ftl 文件无法渲染,并出现如下错误...
Freemarker Fallback 无法在 Spring Boot 中使用多个模板加载器
我正在开发一个 Spring Boot 项目,我使用 Freemarker 进行模板化。我在 Freemarker 的配置中配置了多个 TemplateLoader,以从两个不同的 CDN URL 加载模板:a
我正在使用 Free Marker 创建 Netsuite 自定义表单。我试图迭代记录对象中的每个项目并为相应的条目创建一行。 我用
我无法在资产类别导航 portlet 配置中选择 ADT(Liferay 7.4)
我告诉你,我正在开发的Liferay版本是:liferay-ce-portal-7.4.3.112-ga112。 问题是我无法选择 ADT 模板,因为它没有显示在资产类别中
.freemarker 模板中的区域设置正在返回希伯来语/印度尼西亚语的旧 ISO 639 语言代码
.locale 返回希伯来语的旧 ISO 639 代码,即“iw_IL”。但我需要最新的代码“he_IL”。我们可以将旧的 ISO 转换为最新的 ISO...
我正在使用 freemarker 开发一个命令行应用程序。我想使用 native-maven-plugin 将应用程序构建为 graalvm 本机映像。当我在命令行(MacOS 上的 zsh)上启动应用程序时,我得到