关于FREEMARKER的一些总结

问题代码: ${student.birthday},STUDENT中BIRTHDAY为DATE类型的

问题:13:03:09.735 ERROR freemarker.runtime - Can't convert the date to string, because it is not known which parts of the date variable are in use. Use ?date, ?time or ?datetime built-in, or ?string.<format> or ?string(format) built-in with this date.
freemarker.template.TemplateModelException: Can't convert the date to string, because it is not known which parts of the date variable are in use. Use ?date, ?time or ?datetime built-in, or ?string.<format> or ?string(format) built-in with this date.
 at freemarker.core.Environment.formatDate(Environment.java:765) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.Expression.getStringValue(Expression.java:105) ~[freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.Expression.getStringValue(Expression.java:93) ~[freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.DollarVariable.accept(DollarVariable.java:76) ~[freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.Environment.visit(Environment.java:210) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.MixedContent.accept(MixedContent.java:92) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.Environment.visit(Environment.java:210) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.Environment.visit(Environment.java:417) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.Environment.visit(Environment.java:210) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.IfBlock.accept(IfBlock.java:82) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.Environment.visit(Environment.java:210) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.MixedContent.accept(MixedContent.java:92) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.Environment.visit(Environment.java:210) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.core.Environment.process(Environment.java:190) [freemarker-2.3.16.jar:2.3.16]
 at freemarker.template.Template.process(Template.java:237) [freemarker-2.3.16.jar:2.3.16]
 at com.westi.common.web.springmvc.SimpleFreeMarkerView.renderMergedTemplateModel(SimpleFreeMarkerView.java:111) [SimpleFreeMarkerView.class:na]
 at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167) [spring.web.servlet-3.0.5.jar:3.0.5.RELEASE]
 at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) [spring.web.servlet-3.0.5.jar:3.0.5.RELEASE]
 at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) [spring.web.servlet-3.0.5.jar:3.0.5.RELEASE]
 at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) [spring.web.servlet-3.0.5.jar:3.0.5.RELEASE]
 at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) [spring.web.servlet-3.0.5.jar:3.0.5.RELEASE]
 at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) [spring.web.servlet-3.0.5.jar:3.0.5.RELEASE]
 at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) [spring.web.servlet-3.0.5.jar:3.0.5.RELEASE]
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) [servlet-api.jar:na]
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:6.0.29]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29]
 at com.westi.common.web.XssFilter.doFilter(XssFilter.java:41) [XssFilter.class:na]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29]
 at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) [spring.orm-3.0.5.jar:3.0.5.RELEASE]
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) [spring.web-3.0.5.jar:3.0.5.RELEASE]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29]
 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) [spring.web-3.0.5.jar:3.0.5.RELEASE]
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) [spring.web-3.0.5.jar:3.0.5.RELEASE]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29]
 at com.westi.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:35) [ProcessTimeFilter.class:na]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.29]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.29]
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:6.0.29]
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:6.0.29]
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina.jar:6.0.29]
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:6.0.29]
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:6.0.29]
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) [catalina.jar:6.0.29]
 at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861) [tomcat-coyote.jar:6.0.29]
 at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) [tomcat-coyote.jar:6.0.29]
 at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584) [tomcat-coyote.jar:6.0.29]
 at java.lang.Thread.run(Thread.java:619) [na:1.6.0_10-rc2]
解决方法:${user.birthday}改为${user.birthday?string('yyyy-MM-dd HH:mm:ss')}


======================================================================

问题代码:<#if ${student.name}=="张三!">***<#else>${student.name}</#if>

问题:freemarker.core.ParseException: Encountered "{" at line 8, column 7 in pages/test.ftl.
Was expecting one of:
    ">" ...
    "." ...
    "[" ...
    "(" ...
    "?" ...
    "!" ...
    <TERMINATING_EXCLAM> ...
    "??" ...
    "+" ...
    "-" ...
    "*" ...
    "/" ...
    "%" ...
    "!=" ...
    "=" ...
    "==" ...
    ">=" ...
    <ESCAPED_GTE> ...
    ">" ...
    <ESCAPED_GT> ...
    <LESS_THAN_EQUALS> ...
    <LESS_THAN> ...
    ".." ...
    <AND> ...
    <OR> ...
   
freemarker.core.FMParser.generateParseException(FMParser.java:4697)
freemarker.core.FMParser.jj_consume_token(FMParser.java:4568)
freemarker.core.FMParser.If(FMParser.java:1171)
freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2372)
freemarker.core.FMParser.Content(FMParser.java:2618)
freemarker.core.FMParser.OptionalBlock(FMParser.java:2786)
freemarker.core.FMParser.Root(FMParser.java:2958)
freemarker.template.Template.<init>(Template.java:149)
freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:448)
freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:361)
freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235)
freemarker.template.Configuration.getTemplate(Configuration.java:487)
freemarker.template.Configuration.getTemplate(Configuration.java:459)
freemarker.ext.servlet.FreemarkerServlet.process(FreemarkerServlet.java:410)

解决方法:
将其改写为<#if student.name=="张三">***<#else>${student.name}</#if>

====================================================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值