com.bstek.dorado.data.type.DefaultEntityDataType cannot be cast to com.bstek.dorado.data.type.AggregationDataType
这个错误为DataSet或Reference的DataType属性含中括号"【xxx】"是集合类型,而DataProvider提供的返回数据是单个JavaBean所致。
调整办法:将dataType属性设置调整为单实体对象,也就是去掉中括号。
com.bstek.dorado.data.type.AggregationDataType cannot be cast to com.bstek.dorado.data.type.DefaultEntityDataType
这个就是上面那个错误的相反的形式。
这个错误为DataSet或Reference的DataType属性不含中括号"【xxx】"是单个的实体对象,而DataProvider提供的返回数据是集合类的JavaBean所致。
调整办法:将dataType属性设置调整为对象集合,也就是添加上中括号。
找不到DataProvider,DataResolver或Expose方法
Unknown ExposedService [xxxxxx#xxxx]
Unknown DataProvider [xxxxxx#xxxx]
发生该错误一般检查三个地方:
- Ajax对应的Java方法是否声明了@Expose标记,DataProvider对应的Java方法是否声明了@DataProvider标记
- 对应的server或dataProvider属性配置的首字母未改写为小写,如:"SimpleAjax#toUpperCase"要改写为"simpleAjax#toUpperCase"(如果Java类前两个字母都大写则要用"SImpleAjax#toUpperCase")
- 方法对应的Java类是否已经使用@Component标记
- app-context.xml中是否配置了扫描目录<context:component-scan base-package="com.demo.sample"/>(注意base-package要配置为对应的Java类的相关路径上,要包含所有相关的服务类,如果一个base-package无法定义,则可以定义多个<context:component-scan>节点)
都配置好之后重新启动服务,因该就可以了。
No bean named 'dorado.viewServiceInterceptorRegister' is defined
一般常见的是从7.4版本以下的dorado-core升级到7.4.x版本后出现的错误,出现这种错误是项目中定义了dorado的一个服务类,如:
<bean parent="dorado.viewServiceInterceptorRegister"> <property name="methodInterceptor"> <bean class="xxx.xxx.xxx.xxx" /> </property> </bean>
如果你没有将这个类定义在servlet-context.xml中就会出现这种错误。
当然还存在一种情况,就是你的项目中并未定义,这种情况下就应该是项目中的某一个dorado-addon的版本较老,从而导致这个问题的,请尽可能的将所有的dorado-addon升级到2014年6月1日以后的版本,包括BDF也是这样。