我正在使用Play Framework 1.2.5,并尝试使用DateTime中的Joda Time而不是通常的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没有检测到我的自定义扩展程序,因为文档说它应该。有没有人对如何使这项工作有任何建议?
答案 0 :(得分:2)
你的扩展课对我来说很好看。 documentation表示您必须重新启动应用程序才能使扩展程序变为活动状态。如果这不起作用,请尝试运行play clean
。这样做会删除临时文件,包括缓存的字节码,这有望解决您的问题。