文章目录
- -1 dorado页面的中英文之间出现空格问题
- 0. 迁移dorado项目到新电脑时注意
- 1. 运行jetty后,输入视图文件,控制器显示找不到对应的视图+对应的dorado项目上有红色叹号
- 2. The import javax.servlet can't be resolved
- 3. 无法打开视图文件
- 4. Unknown ExposedService [systemService#getSysInfo]
- 5.Error creating bean
- 6.控件的属性视图【properties】不见了
- 7.无法找到名为 "messageService#saveMessages" 的 Definition
- 8. 新建BDF-创建数据库模型,导入数据库中表时,不能一次性加载所有的表到dtool文件
- 9. 在插入数据时,出现not-null property references a null or transient value
- 10 不能执行处于禁用状态的 Action"ajaxAction"!
- 11. org.hibernate.MappingException: Unknown entity
- 12. java.math.BigDecimal cannot be cast to java.lang.Integer
- 13. 不能加载页面
- 14. Uncaught RangeError: Maximum call stack size exceeded
- 15. 无法在UserService\$\$EnhancerByCGLIB$$e543073e"类中查找到唯一匹配的"create"方法
- 16. java.lang.IllegalStateException:entity._$$_javassist_24/23
- 17. sliptPanel中MainContainer中toolBar和iframMain的页面重叠
- 18. java.lang.IllegalArgumentException: 无法在类中查找到唯一匹配的方法
- 19. F12打开开发人员工具后,滑动鼠标,页面内容随之滑动
- 20.datagrid不显示内容
- 21. java.lang.IllegalArgumentException:Null value was assigned to a p roperty of primitive type setter of
- 22. hbox布局使用border时,会出现:子控件随鼠标滚动而移动位置
- 23. java.lang.IllegalArgumentException: Invalid in servlet mapping【Catalina.start: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]】
-1 dorado页面的中英文之间出现空格问题
若内容是:英文(数字)中文,在打开单纯的页面时,会出现【英文 中文】,而将页面绑定到项目后,此问题消失,中英文正常显示
0. 迁移dorado项目到新电脑时注意
要配置跟原来一样的jdk和tomcat。
1. 运行jetty后,输入视图文件,控制器显示找不到对应的视图+对应的dorado项目上有红色叹号
解决方法:为该项目匹配上跟原来一样的jre【eg:jdk1.7.0】
2. The import javax.servlet can’t be resolved
没有为项目选择对合适的tomcat或缺少tomcat下的jar包
https://blog.youkuaiyun.com/NOKIA_LC/article/details/52204766
3. 无法打开视图文件
解决方法:项目右键更新dorado配置规则
4. Unknown ExposedService [systemService#getSysInfo]
问题:使用ajaxAction的service属性后,出现
可能是由于服务类通过注解的方式进行bean管理,但是没有设置扫描或没有在sysemService类上添加@Component
也可能因为:没有重新运行项目,因为后台方法时新增的
5.Error creating bean
org.springframework.beans.factory.BeanCreationException: Error creating bean wit
h name ‘companyService’: Injection of resource dependencies failed; nested excep
tion is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matc
hing bean of type [com.my.dao.SlCompanyDao] found for dependency: expected at le
ast 1 bean which qualifies as autowire candidate for this dependency. Dependency
annotations: {@javax.annotation.Resource(shareable=true, mappedName=, descripti
on=, name=, type=class java.lang.Object, authenticationType=CONTAINER, lookup=)}
解决办法:为dao文件添加注解
6.控件的属性视图【properties】不见了
关闭控件的属性视图【点右上角x】后,再次打开属性视图,结果为如下
解决办法:双击左上角的Properties图标即可
7.无法找到名为 “messageService#saveMessages” 的 Definition
原因:
1:MessageService.java类名是否有误+是否该类添加了注解@Component
2:MessageService.java中的saveMessages方法名是否有误+是否添加了注解@DataResolver和@Transactional
3:编写MessageService的saveMessage方法后,没有重新启动项目
8. 新建BDF-创建数据库模型,导入数据库中表时,不能一次性加载所有的表到dtool文件
可能是因为取消了外键的原因
解决办法
导入多次,每次只导入几个表
9. 在插入数据时,出现not-null property references a null or transient value
原因:mysql表中有些字段设置非空且有默认值,java-dorado框架下使用hibernate文件中不设置该字段的值,直接添加会出现。
解决办法
10 不能执行处于禁用状态的 Action"ajaxAction"!
//js文件中 点击标签修改两个textEdit中的内容,会迅速使用两次ajaxAction,就会出现上面的问题
//@Bind ^timePeriod.onAttributeChange
!function(self,arg){
if(arg.attribute=="text"){//如果改变的是text属性
//times长度为2
var times = view.get("^timePeriod").get("text").objects;
var start = times[0];
var end = times[1];
var params = {
start:start,
end:end,
};
view.get("#ajaxAction").set("parameter",params).execute(function(result){
console.log(result);
})
}
}
问题:
原因:
在dorado中,如果设置AjaxAction为异步【asyn=true】,且请求一次没有得到返回值就进行第二次请求,会出现此类问题,此时ajaxAction的disabled属性值为true。处于禁用状态。
解决:
-
不让进行快速的第二次使用ajaxAction。
-
改异步为同步【asyn=false】
11. org.hibernate.MappingException: Unknown entity
解决办法
在hibernate.cfg.xml中添加hibernate对表和实体类的映射
- 注解方式:
- 如果实体类对应表,则有dorado自动生成注解方法。
- 如果实体类不对应表,是复合查询的结果
- 添加注解@Entity,该法不可【因为还要添加主键,复合查询没有主键】
- 遍历结果,取出字段值,创建类
- 使用addScalar
String sql = "select now_day x, yt, ys, yf from biao where id=? and api_id=?";
Map<String, Type> map_scalar = new HashMap<>();
map_scalar.put("x",StandardBasicTypes.STRING);
map_scalar.put("yt",StandardBasicTypes.INTEGER);
map_scalar.put("ys",StandardBasicTypes.INTEGER);
map_scalar.put("yf",StandardBasicTypes.INTEGER);
List<Dot> list = helpDao.find(sql,Dot.class,new Object[]{1,2},map_scalar);
- xml方式:此方法用在测试【不运行dorado】且实体类可能映射到表,dorado中使用注解
```xml
<hibernate-configuration>
<!-- 配置hibernate数据源连接 -->
<session-factory>
<!-- 配置hibernate映射 注解方式 -->
<mapping class="com.entity.User"></mapping>
12. java.math.BigDecimal cannot be cast to java.lang.Integer
原因
hibernate使用sum()在mysql进行查询时,会得到 java.math.BigDecimal类型。
解决办法
用Object接收,通过 Integer.parseInt (obj.toString ())得到int
用BigDecimal接收,通过 BigDecimal.intValue ()得到int
13. 不能加载页面
原因:
相应的js代码写错了,如:
//@Bind #label
!function(self,arg){
console.log("haha");
}
//应该是#label.onClick
14. Uncaught RangeError: Maximum call stack size exceeded
Entity.set("name","haha");//x
Entity._data.name="haha";//√
//onRenderCell中
arg.dom.set("name","haha");//×
arg.dom._data.name="haha";//√
15. 无法在UserService$$EnhancerByCGLIB$$e543073e"类中查找到唯一匹配的"create"方法
create方法配置了@Expose
情况:autoform的createprivateDataset值为true,往ajaxAction传入参数为entity/entity._data时,都会出现这个问题
- 方法1 【best】
传入的参数,重新创建param,从entity中取出来参数放到param中,传入后台。 - 方法2
createprivateDataset值为false,可直接将entity传入后台
16. java.lang.IllegalStateException:entity._$$_javassist_24/23
原因一:实体类没有无参构造方法。
原因二:类没有统一,实体类,@DataProvider获取的类,DataGrid展示的类,Dataset绑定的类,Common.model.xml中创造的类。
原因一方法:添加无参构造
原因二方法:先确定展示的实体类,并构造。然后再进行其他部分,如果展示的实体类发生改变,先把其他与其关联的内容全部删掉,再重新绑定
17. sliptPanel中MainContainer中toolBar和iframMain的页面重叠
-
containerMain的布局为dock时,
- 只有一个toolBar时,正常。
- 当多个toolBar切换隐藏时,会出现toolBar和iframMain的页面重叠。
-
containerMain的布局为vbox时+iframeMain的width=height=100%时:
- 只有一个toolBar时,正常。
- 当多个toolBar切换隐藏时,正常。
18. java.lang.IllegalArgumentException: 无法在类中查找到唯一匹配的方法
- 可能是设置了使用页功能(dataset设置每页数目和datapilot),但是没有在后台中使用page或者使用page后没有重新启动
19. F12打开开发人员工具后,滑动鼠标,页面内容随之滑动
- 没出现滑动条
高度设为50%时,出现此情况。
将高度变为500px,即解决 - 出现滑动条
label,没有设置宽度时,设置该label的marginLeft或paddingLeft时,出现。
设置该label宽度后,解决。
20.datagrid不显示内容
- 原因:
- dataset绑定的方法名重复
21. java.lang.IllegalArgumentException:Null value was assigned to a p roperty of primitive type setter of
entity实体类中有int,long,byte而不是Integer,Long,Byte【当存在字段为null时无法赋值给int】
22. hbox布局使用border时,会出现:子控件随鼠标滚动而移动位置
解决方法:
hbox时,子元素须设置height,默认高度为100%
vbox时,子元素须设置width,默认宽度为100%
* 使用dock布局代替【如果左对齐,子控件的type=left】hbox。
23. java.lang.IllegalArgumentException: Invalid in servlet mapping【Catalina.start: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]】
web.xml中