我正在将项目从Grails 1.3.7升级到3.2.6。在conf / spring / resources.groovy中,它指定了默认的异常处理程序:
public interface IDataModel
{
object Id { get; }
}
public interface IDataModel<PKT> : IDataModel
{
new PKT Id { get; set; }
}
public abstract class DataModel<PKT> : IDataModel<PKT>
{
public PKT Id { get; set; }
object IDataModel.Id
{
get { return this.Id; }
}
}
public class ExampleDataModel :
DataModel<string>,
IDataModel<string>
{
public virtual string SomeProperty{ get; set; }
// etc.
}
由于WebUtils中不再存在的方法,尝试使用3.2.6编译MyExceptionResolver会产生一些错误。
exceptionHandler(MyExceptionResolver) {
exceptionMappings = ['com.my.app.ApplicationException': '/error/applicationException',
'java.lang.Exception': '/error'
]
}
和
UrlMappingsHolder urlMappings = null;
try {
urlMappings = WebUtils.lookupUrlMappings(servletContext);
} catch (Exception e) {
// ignore
}
我无法找到有关如何使用Grails 3.x执行此操作的任何信息。我在WebUtils上找到的唯一一种似乎适用于URL映射的方法是
WebUtils.forwardRequestForUrlMappingInfo(
request, response, info, mv.getModel());
是否有Grails 3.0中的lookupUrlMappings或forwardRequstForUrlMappingInfo方法的模拟?我需要看另一个班级吗?