0 0

freemarker调用Java静态方法0

框架使用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)
2014年8月29日 11:08

2个答案 按时间排序 按投票排序

0 0

${(DateUtils.getItemOfTime(timePeriodModel.period, 1))!''}

2015年12月02日 18:45
0 0

jfinal没用过,不过一般freemarker调用java的函数可以写成一个function,然后通过框架的调用机制去调用,比如webwork可以类似
<#assign encoded = stack.findValue("@com.broadcontact.copa.admin.SystemRole@isSystemRole('${roleName}')")/>
<#return encoded>
这样的代码去调用方法

2014年8月29日 11:55

相关推荐

    freemarker把jsp静态化简单应用

    本教程将介绍如何在Java Web项目中利用FreeMarker进行JSP页面的静态化,适合初学者入门学习。 1. **FreeMarker基本概念** FreeMarker是一个基于模板的语言,它与编程语言不同,不包含任何控制结构或函数调用。它的...

    使用FreeMarker生成Html静态文件

    4. **模板加载与渲染**: 使用`Configuration`对象加载模板文件,然后调用`Template`对象的`process`方法,传入数据模型和输出流,将模板渲染为HTML。例如: ```java Template template = config.getTemplate(...

    jsp 静态引擎(freemarker)生成静态html案例

    4.freemarker 不能直接调用java对象的method. 这点有些人认为这是个缺点,但是我不这样认为. 个人觉得对于一个view层的东西来说,你要做的就是把view展现好就行了,不要再view中调用业务方法. 以前在公司做产品和后来做...

    freemarker生成静态html示例

    5. **函数和方法调用**:Freemarker允许调用Java对象的方法,例如 `${user.getFullName()}`。 6. **注释**:使用`&lt;!--#comment--&gt;`来添加注释,这在开发过程中非常有用。 7. **文本格式化**:Freemarker提供了`...

    java使用freemarker模板技术导出word

    Java 使用 FreeMarker 模板技术导出 Word 是一种常见的数据动态生成文档的方法,它结合了 Java 的编程能力和 FreeMarker 模板引擎的强大功能,能够帮助开发者高效地生成结构化的 Word 文档。FreeMarker 是一个开源的...

    Freemarker网站静态化的实现实例源码(eclipse)

    本实例源码是关于如何利用Freemarker进行网站静态化的具体实践,主要涉及到以下几个核心知识点: 1. **Freemarker模板语言**:Freemarker使用简单的文本模板语言,将数据模型与HTML模板结合,生成最终的HTML页面。...

    freemarker java模板技术 很详细的注释

    - **模板**: 模板是Freemarker的核心,它是HTML或其他文本格式的静态部分,其中包含了一些特殊的Freemarker指令,用于在运行时与Java数据模型交互。 - **数据模型**: Java应用程序会创建一个数据模型,将数据传递...

    教你如何用FreeMarker生成静态页面.doc

    3. 定义一个静态方法`analysisTemplate`,接收模板路径、模板文件名、目标文件名以及数据模型Map作为参数。 4. 初始化`Configuration`对象,这是FreeMarker的核心配置类,用于管理模板的加载和解析。 5. 使用`...

    FreeMarker教你如何生成html静态页面源码

    FreeMarker提供了丰富的语法和功能,如条件判断、循环、函数调用等,可以满足复杂的页面逻辑。同时,FreeMarker有良好的错误处理机制,方便调试模板错误。 7. **部署和维护**:生成的静态HTML页面可以部署到Web...

    通过freemarker模板 生成PDF

    `PDFTool`可能包含使用Freemarker的方法,如`processTemplate()`,此方法接受模板文件路径、数据模型和目标PDF输出路径作为参数。`FileController`则可能是处理HTTP请求的控制器,它接收一个HTML URL,并调用`PDF...

    json、post请求、freemarker模拟生成sql、wsdl2Java生成客户代码

    例如,运行`wsdl2java`命令并指定WSDL文件路径,就能自动生成相应的Java源码,然后编译这些源码,就可以在Java应用中直接调用Web服务了。 以上四个知识点涵盖了Java开发中数据交换、网络通信、动态内容生成和Web...

    用java代码生成静态页面

    接下来调用`createNewFile()`方法来真正地在指定位置创建文件: ```java f.createNewFile(); ``` 如果文件已存在,则该方法将返回`false`;如果成功创建了新文件,则返回`true`。需要注意的是,如果文件所在的目录不...

    FreeMarker通用的分页

    - **参数传递**:宏之间以及宏与外部调用者之间的参数传递是实现动态分页的关键,确保了代码的灵活性和可维护性。 ### 总结 在FreeMarker中实现通用的分页功能,不仅提升了Web应用程序的性能,还极大地改善了用户...

    freemarker入门代码

    - **模板(Template)**:Freemarker的工作基于模板,模板是纯文本文件,其中包含静态文本和Freemarker指令。这些指令用于插入由应用程序提供的数据。 - **数据模型(Data Model)**:数据模型是应用程序传递给...

    springMVC+freemarker框架

    FreeMarker是Java的开源模板语言,用于生成HTML、XML等静态或动态文档。它与后端Java代码分离,使得设计师可以专注于页面布局,而开发者则关注业务逻辑。FreeMarker的主要特点包括: 1. **模板语法**:FreeMarker...

    java解决网站静态页面生成方案(源码)

    6. **线程安全**: 由于Servlet可能被多个线程同时调用,源码需要考虑线程安全问题,以避免在生成或更新静态页面时发生冲突。 7. **异步处理**: 为了不阻塞其他请求,`CreatorHtmlServlet`可能会使用异步处理或者...

    网站生成静态页面的方案和工具

    总结,网站生成静态页面是一个有效的优化手段,通过选用合适的工具和方法,结合FreeMarker模板引擎,能够实现高效且定制化的静态化过程。无论是个人博客还是大型企业网站,都可以从中受益,提升网站性能,增强用户...

    Freemarker开发文档以及技术手册资源

    这份文档通常会详细阐述Freemarker的语法特性、模板设计原则、API使用方法以及最佳实践。其中,你将了解到: 1. **基本语法**:Freemarker的模板语言(FTL)包括变量表达式、控制结构(如if/else、for循环)、函数...

    freemarker 简单项目示例

    - 将数据模型与模板结合,调用`Template`对象的`process`方法生成HTML字符串。 6. **生成静态HTML** - 渲染后的HTML字符串可以写入到文件系统,形成静态HTML文件。 - 这一步通常在Web服务器启动时或用户请求后...

    freemarker

    总结来说,FreeMarker是Java Web开发中用于生成静态页面的重要工具,通过与Struts2、Spring、Hibernate等框架集成,可以实现高效、灵活的视图层渲染,并且有利于网站性能优化。在实际项目中,静态化策略可以显著提升...

Global site tag (gtag.js) - Google Analytics