dorado问题

本文档汇总了Dorado框架在使用过程中遇到的各种问题及解决方法,包括页面中英文空格问题、迁移项目注意事项、视图文件无法打开、Bean创建错误、属性视图消失、AjaxAction禁用等,并提供了详细的解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

-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中
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值