p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545; min-height: 14.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.PingFang SC'; color: #454545}
span.s1 {font: 12.0px '.PingFang SC'}
span.s2 {font: 12.0px 'Helvetica Neue'}
span.s3 {text-decoration: underline}
span.Apple-tab-span {white-space:pre}

严重: Servlet.service() for servlet [SpringMVC] in context with path [/zhuozhouzyy] threw exception [Request processing failed; nested exception is freemarker.core.NonMethodException: For "...(...)" callee: Expected a method, but this has evaluated to a string (wrapper: f.t.SimpleScalar):

==> itm.creatTimeString?string  [in template "techedu/index.jsp" at line 46, column 46]

----

FTL stack trace ("~" means nesting-related):

- Failed at: ${itm.creatTimeString?string("yyyy-MM...  [in template "techedu/index.jsp" at line 46, column 44]

----] with root cause

FreeMarker template error:

For "...(...)" callee: Expected a method, but this has evaluated to a string (wrapper: f.t.SimpleScalar):

==> itm.creatTimeString?string  [in template "techedu/index.jsp" at line 46, column 46]

----

FTL stack trace ("~" means nesting-related):

- Failed at: ${itm.creatTimeString?string("yyyy-MM...  [in template "techedu/index.jsp" at line 46, column 44]

----

Java stack trace (for programmers):

----

freemarker.core.NonMethodException: [... Exception message was already printed; see it above ...]

at freemarker.core.MethodCall._eval(MethodCall.java:84)

at freemarker.core.Expression.eval(Expression.java:78)

at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82)

at freemarker.core.DollarVariable.accept(DollarVariable.java:41)

at freemarker.core.Environment.visit(Environment.java:324)

at freemarker.core.MixedContent.accept(MixedContent.java:54)

at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)

at freemarker.core.IteratorBlock$IterationContext.executeNestedBlockInner(IteratorBlock.java:268)

at freemarker.core.IteratorBlock$IterationContext.executeNestedBlock(IteratorBlock.java:220)

at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:194)

at freemarker.core.Environment.visitIteratorBlock(Environment.java:572)

at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:78)

at freemarker.core.IteratorBlock.accept(IteratorBlock.java:64)

at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)

at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)

at freemarker.core.Environment.visit(Environment.java:324)

at freemarker.core.MixedContent.accept(MixedContent.java:54)

at freemarker.core.Environment.visit(Environment.java:324)

at freemarker.core.Environment.process(Environment.java:302)

at freemarker.template.Template.process(Template.java:325)

at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:366)

at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:283)

at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:233)

at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167)

at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)

at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1225)

at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1524)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1480)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

错误原因:

<p>${itm.creatTimeString?string('yyyy-MM-dd')}</p>

由于 itm.creatTimeString 本身就是一个字符串,所以没有办法进行日期格式化;

解决方法:

要使用日期格式化,就需要使用日期类型的字段。

最新文章

  1. 用Redis实现Session功能
  2. sas编程-日期相差计算函数 intnx
  3. ASP.Net 获取服务器信息
  4. C#迭代重载等
  5. centOS设置zookeeper开机自动启动
  6. python(1) - 输入和输出
  7. 第一章JSP基础语法
  8. 学习hadoop
  9. ASP.NET页面上传文件时提示文件大小超过请求解决方法
  10. Week5(10月11日):国庆后补课的复杂心情
  11. java 线程 新类库中的构件 countDownLatch 使用
  12. Two Pointers - leetcode [两指针问题]
  13. python统计目录和目录下的文件,并写入excel表
  14. Mysql 函数大全- 5.6 中文解释函数参考
  15. java实现两个不同list对象合并后并排序
  16. iOS逆向之TheOS
  17. SQL 必知必会&#183;笔记&lt;7&gt;汇总数据——使用聚合函数
  18. Git问题Everything up-to-date解决
  19. SpringMVC融合Swagger UI使用
  20. python webdriver API学习笔记

热门文章

  1. flask-基础知识
  2. Changing an Elements innerHTML in TWebBrowser
  3. Ubuntu16.04安装Appium
  4. linux命令详解之(at)
  5. C# 字符串中正则表达式的应用
  6. 安装专业版的linux的方法 图解安装专业版的linux
  7. 混合开发的大趋势之 一个Android程序员眼中的 React.js 箭头函数,const, PropTypes
  8. Linux统计文件数目
  9. hbase learning
  10. Java中的条件运算符