- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个调用 formatDate
的标签库:
out << g.formatDate(attrs)
在我的单元测试中,我有以下内容:
def output = applyTemplate('<tz:formatDate date="${date}"/>', [date: date])
当我运行测试时,出现以下错误:
org.grails.taglib.GrailsTagException: [Byte array resource [test_1520620408798]:1] Error executing tag <tz:formatDate>: Cannot invoke method getTimeZone() on null object
at org.grails.gsp.GroovyPage.throwRootCause(GroovyPage.java:472)
at org.grails.gsp.GroovyPage.invokeTag(GroovyPage.java:415)
at test_1520620408798.run(test_1520620408798:15)
at org.grails.gsp.GroovyPageWritable.doWriteTo(GroovyPageWritable.java:162)
at org.grails.gsp.GroovyPageWritable.writeTo(GroovyPageWritable.java:82)
at grails.testing.web.GrailsWebUnitTest$Trait$Helper.renderTemplateToStringWriter(GrailsWebUnitTest.groovy:242)
at grails.testing.web.GrailsWebUnitTest$Trait$Helper.applyTemplate(GrailsWebUnitTest.groovy:227)
at grails.testing.web.taglib.TagLibUnitTest$Trait$Helper.applyTemplate(TagLibUnitTest.groovy:49)
at grails.testing.web.GrailsWebUnitTest$Trait$Helper.applyTemplate(GrailsWebUnitTest.groovy:212)
at grails.testing.web.taglib.TagLibUnitTest$Trait$Helper.applyTemplate(TagLibUnitTest.groovy:44)
at com.captivatelabs.grails.timezone.detection.FormatTagLibSpec.test offset client to server time - formatDate(FormatTagLibSpec.groovy:22)
Caused by: java.lang.NullPointerException: Cannot invoke method getTimeZone() on null object
at org.grails.plugins.web.taglib.FormatTagLib$_closure2.doCall(FormatTagLib.groovy:170)
at groovy.lang.Closure.call(Closure.java:414)
at org.grails.taglib.TagOutput.captureTagOutput(TagOutput.java:64)
at org.grails.taglib.TagLibraryMetaUtils.methodMissingForTagLib(TagLibraryMetaUtils.groovy:139)
at org.grails.taglib.NamespacedTagDispatcher.methodMissing(NamespacedTagDispatcher.groovy:59)
at com.captivatelabs.grails.timezone.detection.FormatTagLib$_closure1.doCall(FormatTagLib.groovy:14)
at groovy.lang.Closure.call(Closure.java:414)
at org.grails.gsp.GroovyPage.invokeTagLibClosure(GroovyPage.java:439)
at org.grails.gsp.GroovyPage.invokeTag(GroovyPage.java:364)
... 9 more
有没有人对此有任何想法?
最佳答案
您可以通过多种方式来协调这一点。一个在 https://github.com/jeffbrown/pietertest 的项目中进行了演示。 .
https://github.com/jeffbrown/pietertest/blob/master/grails-app/taglib/pieter/DemoTagLib.groovy
package pieter
class DemoTagLib {
static defaultEncodeAs = [taglib:'html']
static namespace = 'tz'
def formatDate = { attrs ->
out << g.formatDate(date: attrs.date, format: 'yyyy-MM-dd')
}
}
https://github.com/jeffbrown/pietertest/blob/master/src/test/groovy/pieter/DemoTagLibSpec.groovy
package pieter
import grails.testing.web.taglib.TagLibUnitTest
import org.grails.plugins.web.DefaultGrailsTagDateHelper
import spock.lang.Specification
class DemoTagLibSpec extends Specification implements TagLibUnitTest<DemoTagLib> {
Closure doWithSpring() {{ ->
grailsTagDateHelper DefaultGrailsTagDateHelper
}}
void "test date format"() {
given:
def date
Calendar cal = Calendar.instance
cal.with {
clear()
set MONTH, JULY
set YEAR, 1776
set DATE, 4
date = time
}
when:
def output = applyTemplate('<tz:formatDate date="${date}"/>', [date: date])
then:
output == '1776-07-04'
}
}
希望对您有所帮助。
关于unit-testing - 如何对调用 g.formatDate 的标签库进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49203808/
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界. 这篇CFSDN的博客文章ASP常用日期格式化函数 FormatDate()由作者收集整理,如果你
这是我的第一个 FullCalendar 项目。我点击了 5 月 13 日。 我按如下方式格式化日期: dayClick: function (date, allDay
JSTL 标签用于使用不同的方式格式化日期。 语法 JSP 标签的语法如下。 其中,[ ] 中的内容为可选项,参数说明如下表所示: 参 数 说 明 value 要显示的日期 dateStyle
我正在尝试使用以下格式格式化日期: 新闻稿是具有createdOn属性的对象java.util.Date。 当我调用前面的句子时,我得到: 根据TLD,属性值不接受表达式。 我正在导入fmt 有谁
我成功地编写了一些 JavaScript,让我的日期按照我想要的方式显示: $(document).ready(function () { $('span.date').each(functi
我正在使用Grails 2.3.6中的应用程序 我想向GSP View 中的Date对象添加文本颜色。我尝试了以下操作,但这没有用。 有没有一种方法可以向g:formatDate添加颜色? 最佳答案
我正在尝试将 fullcalender 集成到 php mysql。我使用了以下代码。我想格式化日期,使其采用 yyyy/mm/dd 格式,但是当我使用格式语句时,代码无法正常工作。如果我删除格式日期
我的 Mysql 数据库中有一些字段,类型为日期时间。 例如,我使用下一个 Java 代码存储付款日期: payment.setCreatedOn(new Date(System.currentTim
我想用 JSTL 本地化日期,我正在尝试像下面那样做。 some.date 是一个 java.util.Date 实例。我玩过各种不同的语言环境,但没有任何效果。无论选择哪个语言环境,我都会得
我也想从资源包中读取 JST formatDate 的模式,但这种幼稚的方法不起作用,我做错了什么? 在 com/company/MyPortlet.properties 中是这个键: company
我是否可以以类似于 g:formatDate 标记执行此操作的方式格式化日期,但在服务中?包括 i18n 和 l10n? 在服务中执行此操作可能不是最佳实践,因为这更可能是 View 逻辑的一部分,但
我正在尝试将正在我的jsp中的java.util.Date对象格式化为“yyyy-MM-dd hh:mm:ss”模式,但仍以其他(可能是默认)格式打印。 我已经使用此语句包含了标签库- 我正在使用以
我无法弄清楚为什么我的 formatDate 无法正常工作。这是我的代码: Java @DateTimeFormat(style = "SS") @Column(name="my_date") pri
我正在为我的应用程序使用完整的日历 api,我试图禁用 fullcalendar 中的过去日期,但我得到 $.fullCalendar.formatDate is not a function 错误。
我有一个 JavaScript 函数,它在 Chrome 中可以正常工作,但在其他浏览器(如 Firefox 或 Safari)中却没有: function formatDate(date){
为了处理日期,我在我的应用程序中使用了 jQuery UI public 方法:jQuery.datepicker.formatDate请在此处查看参数和来源:https://github.com/j
使用 $.datepicker.formatDate 我只能格式化日期,这意味着如果我传入 Date 对象,我只能格式化它的日期部分而不是时间部分。 是否有任何等效函数允许时间部分也被格式化/解析,最
我尝试使用 fmt:formatDate 格式化日期。
我正在尝试使用 JSTL 在我的 JSP 页面中显示当前日期。下面是我正在使用的代码。 但是上面的代码没有产生任何结果?我在这里遗漏了什么或者有更好的方法吗?我正在使用 JSTL 1.1。 最佳答
我将格式化日期分配给 标记但不是格式化日期,而是将 jSTL 代码分配给文本字段。 " /> 最佳答案 尝试这个: 测试和工作。 关于jsp - JSTL fmt formatDate 标记按原样
我是一名优秀的程序员,十分优秀!