起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2554|回复: 8

[结贴] 求助组件设计的问题

[复制链接]

7

主题

28

帖子

64

积分

初级会员

Rank: 2

积分
64
QQ
发表于 2016-9-5 08:55:11 | 显示全部楼层 |阅读模式
$ui/system/components/ecnet/ectoggle 目录做了个组件,组件代码和 $ui/system/components/justep/button/  下的toggle相同,只是改了名称为ectoggle,相关的文件也做了修改,重启wex5软件后,在组件栏也可以正常显示了,拖动组件在W文件设置和显示也正常。
但是,如果选择在浏览器运行的时候,提示以下错误。
com.justep.ui.component.ComponentException: 编码: JUSTEP000051; 提示: 解析组件"$model/UI2/system/components/ecnet/ectoggle/ectoggle"出错, 解析java格式的模板时出错

我怀疑是缺少了什么,然后我在$UI/system/components/justep/button  重新建立一个newtoggle,代码和toggle完全相同,对应的配置文件也做了修改,并且对designer目录的js和xml也做了添加。重启wex5,在组件栏目也有显示,但是拖动到W文件就显示不正常了,不知道何解

补充,以上两种方法,对应server目录的java文件我也添加并且修改了类名称和编译了。而我用同样的方法,改了timer组件,命名ectimer却都正常。

问题困扰了一个星期,也看了好多次文档,没找到答案,求大神给予帮助。谢谢。

7

主题

28

帖子

64

积分

初级会员

Rank: 2

积分
64
QQ
 楼主| 发表于 2016-9-5 11:19:27 | 显示全部楼层
求大神给予帮助。谢谢。
回复 支持 反对

使用道具 举报

发表于 2016-9-5 15:12:07 | 显示全部楼层
开发组件要求,必须是调试模式!
http://docs.wex5.com/wex5-studio-question-list-2002/

这样没错修改页面代码都会立即生效的! java代码注意模型编译,或是设置为src路径!
剩下的就是参考其他组件,还有文档中心关于组件开发的文档介绍!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

7

主题

28

帖子

64

积分

初级会员

Rank: 2

积分
64
QQ
 楼主| 发表于 2016-9-5 16:22:38 | 显示全部楼层
这个好像不能解决,或者说我简化下问题,我只是要在组件栏增加一个和toggle一模一样功能的组件,而代码我都是复制toggle的,只是改了对应的名称以及其他里面的路径之类, toggle组件是有server下的java文件的, 改这类组件就是不成功, 如果没有的,我可以成功添加相同功能的组件.
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-9-6 14:23:10 | 显示全部楼层
kinglao 发表于 2016-9-5 16:22
这个好像不能解决,或者说我简化下问题,我只是要在组件栏增加一个和toggle一模一样功能的组件,而代码我都是 ...

java代码注意模型编译,或是设置为src路径!你修改了以后进行源码编译和模型编译
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

7

主题

28

帖子

64

积分

初级会员

Rank: 2

积分
64
QQ
 楼主| 发表于 2016-9-6 23:44:17 | 显示全部楼层
cgrddv 发表于 2016-9-6 14:23
java代码注意模型编译,或是设置为src路径!你修改了以后进行源码编译和模型编译 ...

能详细点步骤?不懂啊,对组件进行源码编译和模型编译都没报错,把组件拖动到W文件,对W文件进行编译就报错,2016-09-06 23:44:00 编码: JUSTEP000051; 提示: 解析组件"$model/UI2/system/components/ecnet/ectoggle/ectoggle"出错, 解析java格式的模板时出错
com.justep.ui.component.ComponentException: 编码: JUSTEP000051; 提示: 解析组件"$model/UI2/system/components/ecnet/ectoggle/ectoggle"出错, 解析java格式的模板时出错
        at com.justep.ui.component.ComponentException.create(Unknown Source)
        at com.justep.ui.component.ComponentEngine.buildJavaTemplateClass(Unknown Source)
        at com.justep.ui.component.ComponentEngine.processServerTemplate(Unknown Source)
        at com.justep.ui.component.ComponentEngine.parser(Unknown Source)
        at com.justep.ui.component.ComponentEngine.parser(Unknown Source)
        at com.justep.ui.component.ComponentEngine.execute(Unknown Source)
        at com.justep.ui.WindowCompiler2.w2Middle(Unknown Source)
        at com.justep.ui.WindowCompiler2.compileForStudio(Unknown Source)
        at com.justep.ui.StudioWindowCompiler.execute(Unknown Source)
        at com.justep.ui.StudioWindowCompiler.compile(Unknown Source)
        at com.justep.tools.CompileUI.compileW(Unknown Source)
        at com.justep.tools.CompileUI.executeCompile(Unknown Source)
        at com.justep.tools.CompileUI.main(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: Ectoggle (wrong name: ECToggle)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at com.justep.classloader.JustepURLClassLoader.a(Unknown Source)
        at com.justep.classloader.JustepURLClassLoader.a(Unknown Source)
        at com.justep.classloader.b.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.justep.classloader.JustepURLClassLoader.findClass(Unknown Source)
        at com.justep.classloader.Model$b.findClass(Unknown Source)
        at com.justep.classloader.Model$a.b(Unknown Source)
        at com.justep.classloader.Model$a.a(Unknown Source)
        at com.justep.classloader.Model.getModelClass(Unknown Source)
        ... 12 more

=============编译结果=================
[编译总数]: 1
[编译成功的个数]: 0
[编译失败的个数]: 1
回复 支持 反对

使用道具 举报

7

主题

28

帖子

64

积分

初级会员

Rank: 2

积分
64
QQ
 楼主| 发表于 2016-9-6 23:45:03 | 显示全部楼层
cgrddv 发表于 2016-9-6 14:23
java代码注意模型编译,或是设置为src路径!你修改了以后进行源码编译和模型编译 ...

能详细点步骤?不懂啊,对组件进行源码编译和模型编译都没报错,把组件拖动到W文件,对W文件进行编译就报错,编码: JUSTEP000051; 提示: 解析组件"$model/UI2/system/components/ecnet/ectoggle/ectoggle"出错, 解析java格式的模板时出错
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-9-7 10:31:21 | 显示全部楼层
kinglao 发表于 2016-9-6 23:45
能详细点步骤?不懂啊,对组件进行源码编译和模型编译都没报错,把组件拖动到W文件,对W文件进行编译就报 ...

Caused by: java.lang.NoClassDefFoundError: Ectoggle (wrong name: ECToggle)
这个class类没有,你看看是不是没有改这个java类的名字
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

7

主题

28

帖子

64

积分

初级会员

Rank: 2

积分
64
QQ
 楼主| 发表于 2016-9-8 05:03:29 | 显示全部楼层
cgrddv 发表于 2016-9-7 10:31
Caused by: java.lang.NoClassDefFoundError: Ectoggle (wrong name: ECToggle)
这个class类没有,你看看 ...

改了。后来我发现了,无论我用ECToggle,ECtoggle作为类名都不行,文件名和类名必须只能第一个字母大写,我把java文件名改为Ectoggle,类名也改为Ectoggle,相关JS里面的ECToggle也改为Ectoogle就可以了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 19:47 , Processed in 0.075483 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表