freemarker错误九

freemarker错误九

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

1、错误叙述性说明

五月 30, 2014 11:52:04 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error
严重: Template processing error: "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.\u003Cformat> or ?string(format) built-in with this date."

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.The problematic instruction:----------==> ${nowsday} [on line 23, column 6 in type.ftl]----------Java backtrace for programmers:----------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:776) at freemarker.core.Expression.getStringValue(Expression.java:105) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at freemarker.template.Template.process(Template.java:259) at com.you.freemarker.FreemarkerTemplate.printFtl(FreemarkerTemplate.java:77) at com.you.test.freemarker.FreemarkerTest.studentPrint(FreemarkerTest.java:173) at com.you.test.freemarker.FreemarkerTest.testDataType(FreemarkerTest.java:160) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)<html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>freemarker基本数据类型</title> </head> <body> 张三丰 123,456 true false 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.The problematic instruction:----------==> ${nowsday} [on line 23, column 6 in type.ftl]----------Java backtrace for programmers:----------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:776) at freemarker.core.Expression.getStringValue(Expression.java:105) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at freemarker.template.Template.process(Template.java:259) at com.you.freemarker.FreemarkerTemplate.printFtl(FreemarkerTemplate.java:77) at com.you.test.freemarker.FreemarkerTest.studentPrint(FreemarkerTest.java:173) at com.you.test.freemarker.FreemarkerTest.testDataType(FreemarkerTest.java:160) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)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.The problematic instruction:----------==> ${nowsday} [on line 23, column 6 in type.ftl]----------Java backtrace for programmers:----------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:776) at freemarker.core.Expression.getStringValue(Expression.java:105) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at freemarker.template.Template.process(Template.java:259) at com.you.freemarker.FreemarkerTemplate.printFtl(FreemarkerTemplate.java:77) at com.you.test.freemarker.FreemarkerTest.studentPrint(FreemarkerTest.java:173) at com.you.test.freemarker.FreemarkerTest.testDataType(FreemarkerTest.java:160) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

2、错误原因

/**
	 * freemarker基本数据类型
	 * @Title:testDataType
	 * @Description:
	 * @param:
	 * @return: void
	 * @throws
	 */
	@Test
	public void testDataType()
	{
		root.put("nowsday", new Date());
		studentPrint("type.ftl");
	}

${nowsday}


     不能将日期类型直接转换为字符串。由于不知道是日期类型中的哪一种在使用。是date、time还是datetime。而且不知道转换成字符串日期究竟显示成什么格式,是yyyy-MM-dd。还是HH:mm:ss,还是yyyy-MM-dd HH:mm:ss


3、解决的方法

 <#--日期类型-->
${nowsday?string("yyyy-MM-dd")}


结果:2014-05-31

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117586.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月3日 下午2:00
下一篇 2022年1月3日 下午3:00


相关推荐

  • 在工厂做IT的职业前途[通俗易懂]

    在工厂做IT的职业前途[通俗易懂]从毕业到现在大部分时间是在制造工厂渡过.大学读的是信息管理,什么都学,什么都不懂.所以刚毕业时候工作很难找.几经周折,终于进了厦门的一家制造工厂的MIS部门做开发ERP的Coder.工厂规模虽不是很大但IT部门的学习氛围还可以,…

    2025年10月31日
    6
  • pycharm下的多个python版本共存(二)

    pycharm下的多个python版本共存(二)

    2021年10月22日
    54
  • 关于如何将多个Cpp文件关联起来

    关于如何将多个Cpp文件关联起来一 C 编译模式 C 程序中 只包含两类文件 cpp 文件和 h 文件 其中 cpp 文件被称作 C 源文件 里面放的都是 C 的源代码 而 h 文件则被称作 C 头文件 里面放的也是 C 的源代码 C 语言支持 分别编译 separatecomp 一个程序所有的内容 可以分成不同的部分分别放在不同的 cpp 文件里 cpp 文件里的东西都是相对独立的 在

    2026年3月20日
    2
  • 分布式链路追踪技术对比

    分布式链路追踪技术对比精品文章 sharding jdbc 源码分析 Eureka 源码解析 rocketMq 源码深度解析 xxl job 分布式定时任务构建 sleuth zipkin 全链路监控系统深入理解 dubbo 实现原理方案选择本文最终选择了 zipkin sleuth 做二次开发 这样做灵活性比较大一点 有兴趣的可以进我博客看一下 我会将我二次开发过程当中遇到的问题发出来 搭建环境 sleu

    2026年3月26日
    2
  • Uniapp中onShow()的应用

    Uniapp中onShow()的应用遇到问题:在使用一些变量进行判断时,用完一次开始下一次判断时,结果会跟前一次一样,比如门禁中第一个房子打开后,切换到另外的房子,结果返回结果跟第一个房子一样。原因分析:用于使用了相同的变量进行判断,然而在第一次执行完后,并没有把变量重新初始化,导致页面在第二次加载的时候,显示的结果跟第一次一样。解决方法:在onShow()里面,通过一些参数,判断在切换页面的时候,有没有切换房屋,如果房屋没变的话,切换页面时就不用重新初始化变量。如果房屋改变了,就把变量重新初始化。总结:.

    2022年6月21日
    106
  • navicat sql 15.23激活码【在线注册码/序列号/破解码】

    navicat sql 15.23激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号