升级到Grails 2.4.4时出现layoutTitle标记

时间:2014-12-17 14:10:42

标签: grails sitemesh

在将我的应用升级到2.4.4后使用g:layoutTitle标记时出现以下异常

Caused by: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'com.opensymphony.sitemesh.compatability.Content2HTMLPage@21b3cfb7' with class 'com.opensymphony.sitemesh.compatability.Content2HTMLPage' to class 'com.opensymphony.module.sitemesh.parser.AbstractHTMLPage'

我甚至尝试过将字符串硬编码为默认值,如下所示:

<title><g:layoutTitle default="Test"/></title>

我仍然遇到了这个问题。升级时我错过了什么吗?我不确定这里的问题是什么。

使用pageProperty时,我也遇到了同样的问题。例如:

<body class="${pageProperty(name: 'body.class')} ${pageProperty(name: 'page.sectionName')}">

抛出相同的异常,但在使用Grails 2.3.6时也有效。

1 个答案:

答案 0 :(得分:1)

从Grails 2.2.5升级到2.4.4后,我遇到了同样的问题。在Config.groovy中更改/添加此行为我解决了这个问题:

    grails.views.gsp.sitemesh.preprocess = true

希望这对某人有所帮助 - 我在这个问题上被困了几天。