框架使用jfinal,现在需要在页面中调用Java的静态方法,如
${DateUtils.getItemOfTime(timePeriodModel.period, 1)},
需要怎么配置才能生效。
异常如下:
com.jfinal.render.RenderException: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
==> DateUtils [in template "devconfig/maintenance/_periodDiv.html" at line 36, column 116]
Tip: If the failing expression is known to be legally null/missing, either specify a default value with 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 parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??
The failing instruction (print stack trace for 6 more):
==> ${DateUtils.getItemOfTime(timePeriodM... [in template "devconfig/maintenance/_periodDiv.html" at line 36, column 114]
at com.jfinal.render.FreeMarkerRender.render(FreeMarkerRender.java:131)
at com.jfinal.core.ActionHandler.handle(ActionHandler.java:92)
相关推荐
本教程将介绍如何在Java Web项目中利用FreeMarker进行JSP页面的静态化,适合初学者入门学习。 1. **FreeMarker基本概念** FreeMarker是一个基于模板的语言,它与编程语言不同,不包含任何控制结构或函数调用。它的...
4. **模板加载与渲染**: 使用`Configuration`对象加载模板文件,然后调用`Template`对象的`process`方法,传入数据模型和输出流,将模板渲染为HTML。例如: ```java Template template = config.getTemplate(...
4.freemarker 不能直接调用java对象的method. 这点有些人认为这是个缺点,但是我不这样认为. 个人觉得对于一个view层的东西来说,你要做的就是把view展现好就行了,不要再view中调用业务方法. 以前在公司做产品和后来做...
5. **函数和方法调用**:Freemarker允许调用Java对象的方法,例如 `${user.getFullName()}`。 6. **注释**:使用`<!--#comment-->`来添加注释,这在开发过程中非常有用。 7. **文本格式化**:Freemarker提供了`...
Java 使用 FreeMarker 模板技术导出 Word 是一种常见的数据动态生成文档的方法,它结合了 Java 的编程能力和 FreeMarker 模板引擎的强大功能,能够帮助开发者高效地生成结构化的 Word 文档。FreeMarker 是一个开源的...
本实例源码是关于如何利用Freemarker进行网站静态化的具体实践,主要涉及到以下几个核心知识点: 1. **Freemarker模板语言**:Freemarker使用简单的文本模板语言,将数据模型与HTML模板结合,生成最终的HTML页面。...
- **模板**: 模板是Freemarker的核心,它是HTML或其他文本格式的静态部分,其中包含了一些特殊的Freemarker指令,用于在运行时与Java数据模型交互。 - **数据模型**: Java应用程序会创建一个数据模型,将数据传递...
3. 定义一个静态方法`analysisTemplate`,接收模板路径、模板文件名、目标文件名以及数据模型Map作为参数。 4. 初始化`Configuration`对象,这是FreeMarker的核心配置类,用于管理模板的加载和解析。 5. 使用`...
FreeMarker提供了丰富的语法和功能,如条件判断、循环、函数调用等,可以满足复杂的页面逻辑。同时,FreeMarker有良好的错误处理机制,方便调试模板错误。 7. **部署和维护**:生成的静态HTML页面可以部署到Web...
`PDFTool`可能包含使用Freemarker的方法,如`processTemplate()`,此方法接受模板文件路径、数据模型和目标PDF输出路径作为参数。`FileController`则可能是处理HTTP请求的控制器,它接收一个HTML URL,并调用`PDF...
例如,运行`wsdl2java`命令并指定WSDL文件路径,就能自动生成相应的Java源码,然后编译这些源码,就可以在Java应用中直接调用Web服务了。 以上四个知识点涵盖了Java开发中数据交换、网络通信、动态内容生成和Web...
接下来调用`createNewFile()`方法来真正地在指定位置创建文件: ```java f.createNewFile(); ``` 如果文件已存在,则该方法将返回`false`;如果成功创建了新文件,则返回`true`。需要注意的是,如果文件所在的目录不...
- **参数传递**:宏之间以及宏与外部调用者之间的参数传递是实现动态分页的关键,确保了代码的灵活性和可维护性。 ### 总结 在FreeMarker中实现通用的分页功能,不仅提升了Web应用程序的性能,还极大地改善了用户...
- **模板(Template)**:Freemarker的工作基于模板,模板是纯文本文件,其中包含静态文本和Freemarker指令。这些指令用于插入由应用程序提供的数据。 - **数据模型(Data Model)**:数据模型是应用程序传递给...
FreeMarker是Java的开源模板语言,用于生成HTML、XML等静态或动态文档。它与后端Java代码分离,使得设计师可以专注于页面布局,而开发者则关注业务逻辑。FreeMarker的主要特点包括: 1. **模板语法**:FreeMarker...
6. **线程安全**: 由于Servlet可能被多个线程同时调用,源码需要考虑线程安全问题,以避免在生成或更新静态页面时发生冲突。 7. **异步处理**: 为了不阻塞其他请求,`CreatorHtmlServlet`可能会使用异步处理或者...
总结,网站生成静态页面是一个有效的优化手段,通过选用合适的工具和方法,结合FreeMarker模板引擎,能够实现高效且定制化的静态化过程。无论是个人博客还是大型企业网站,都可以从中受益,提升网站性能,增强用户...
这份文档通常会详细阐述Freemarker的语法特性、模板设计原则、API使用方法以及最佳实践。其中,你将了解到: 1. **基本语法**:Freemarker的模板语言(FTL)包括变量表达式、控制结构(如if/else、for循环)、函数...
- 将数据模型与模板结合,调用`Template`对象的`process`方法生成HTML字符串。 6. **生成静态HTML** - 渲染后的HTML字符串可以写入到文件系统,形成静态HTML文件。 - 这一步通常在Web服务器启动时或用户请求后...
总结来说,FreeMarker是Java Web开发中用于生成静态页面的重要工具,通过与Struts2、Spring、Hibernate等框架集成,可以实现高效、灵活的视图层渲染,并且有利于网站性能优化。在实际项目中,静态化策略可以显著提升...