视图中混合了Grails groovy代码

问题描述

嘿。我需要做这样的事情:
<td><g:formatDate format=\"yyyy-MM-dd\" date=\"${it.conference.startDate}\"/> (S) <u><g:formatDate format=\"yyyy-MM-dd\" date=\"${it.conference.endDate}\"/></u> (E)<br>
<%
def temp = new Date()
def temp2 = ${it.conference.startDate}

def temp3 = temp - temp2

out << temp3
%>

</td>
但是由于某种原因,这是行不通的,这也是我的要求:常规代码中的
${it.conference.startDate}
是行不通的。任何帮助将不胜感激。     

解决方法

视图中的内联代码因设计不当而臭名昭著。一般来说,最好创建一个自定义标签库来显示日期。由此带来的一些直接好处: 可调试性 可测性 重用 您应该能够将现有代码几乎放到自定义taglib中,并在不进行任何重大更改的情况下调用它。