在将我的应用升级到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时也有效。
答案 0 :(得分:1)
从Grails 2.2.5升级到2.4.4后,我遇到了同样的问题。在Config.groovy中更改/添加此行为我解决了这个问题:
grails.views.gsp.sitemesh.preprocess = true
希望这对某人有所帮助 - 我在这个问题上被困了几天。