【发布时间】:2013-08-06 13:50:46
【问题描述】:
我正在使用 Play Framework 1.2.5,并尝试使用来自 Joda Time 的 DateTime 而不是通常的 java.util.Date。我正在尝试实现一种格式方法以在我的视图中使用。
Play 文档说我可以创建自己的custom java extensions 用于模板,但它似乎不适合我。我按照文档中的示例无济于事。
我的自定义扩展:
package ext;
import org.joda.time.DateTime;
import play.templates.JavaExtensions;
public class DateTimeExtensions extends JavaExtensions {
public static String format(DateTime datetime, String format) {
return datetime==null ? "" : datetime.toString(format);
}
}
我的模板代码:
${subProject?.startDate?.format('yyyy-MM-dd')}
我收到的错误:
引发的异常是 MissingMethodException:没有方法签名:org.joda.time.DateTime.format() 适用于参数类型:(java.lang.String) 值:[yyyy-MM-dd]
Play 似乎没有像文档中所说的那样检测到我的自定义扩展。有人对如何进行这项工作有任何建议吗?
【问题讨论】:
-
你的扩展类在我看来不错。您是否重新启动了应用程序?也许
play clean有帮助?当您不使用?.运算符检查null值时,是否也会发生这种情况? -
@Carsten
play clean为我工作,谢谢。将此作为答案发布,我会接受! -
这很有帮助,谢谢。
标签: java playframework playframework-1.x