中兴智能网SCE开发sib文档格式.docx
- 文档编号:22245254
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:14
- 大小:56.98MB
中兴智能网SCE开发sib文档格式.docx
《中兴智能网SCE开发sib文档格式.docx》由会员分享,可在线阅读,更多相关《中兴智能网SCE开发sib文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
classidnumber(18)PRIMARYKEY,
classnamevarchar2(20)notnull
);
insertintoclassvalues(1,'
3年1班'
insertintoclassvalues(2,'
3年2班'
insertintoclassvalues(3,'
3年3班'
insertintoclassvalues(4,'
3年4班'
insertintoclassvalues(5,'
3年5班'
INSERTINTOEOS_UNIQUE_TABLE(NAME,CODE)VALUES('
class.classid'
5);
commit;
ALTERTABLEstudent
ADDCONSTRAINTFK_stu_REFERFOREIGNKEY(classid)
REFERENCESclass(classid);
2.打开数据集,拉扯出一个class实体.并点击
用线关联起来,点击中间的线,会出现对话框,填写好即可.
3.新建class视图.修改相关内容,并把视图类型改成lookup
4.新建查询条件.
5.查询结果,新增一个班级名称.
6.完善之前的表单.删除原来的
然后把lookup视图拖入进去.
7.修改学生视图,在查询结果里面把classid删除,新建一个classname.
8.保存,测试运行.
这个就是多表查询,学习的就lookup的查询.下面来介绍一下事件编程,也就是用js来产生一些简单的运算(部分需配合plaformstudio一起使用).
事件编程
和上面说的一样,就是个js来运行一些简单的逻辑,话说里面还包含了AJAX的调用,EOS应用的AJAX调用比jquery的AJAX跟复杂.下面我就写个简单点的demo.
EOS中NUI的ajxa调用.
//获取页面元素base,allowance的value值
varp1=document.getElementById("
base"
).value-0;
varp2=document.getElementById("
allowance"
//ajax方式调用逻辑流,逻辑流名称通过复制全名方式获得
varmyAjax=newAjax("
com.primeton.empmgr.empmgr.getwage.biz"
//添加参数,第一个为参数名,第二个为参数值myAjax.addParam("
p1);
myAjax.addParam("
p2);
//开始调用
myAjax.submit();
//取得调用后的结果
varreturnNode=myAjax.getValue("
root/data"
)
//将结果显示在页面上
document.getElementById("
wage"
).innerText=returnNode;
jquery的AJAX
varp1=$("
#base"
).val();
varp2=$("
#allowance"
$.ajax({
data:
{'
base'
:
p1,'
allowance'
p2},
url:
'
com.primeton.empmgr.empmgr.getwage.biz'
type:
post'
success:
function(data){
$("
#wage"
).html(data);
}});
说明一点:
上面传递的方式使用post传递的,这个是EOS规定的.返回的数据也是直接一个文本,也不是什么json,所以我们直接可以用上下文来传递.写到这里的时候,我突然发现我ajax好烂,下次一定得去仔细看看才行,估计后面会写一篇AJax的相关调用文章吧.
逻辑图:
1.打开之前的学生管理系统.打开原来的学生表.
2.选择生日框,并点击右键选择新增一行.从左边拖动一个单行文本框,右击选择属性,修改成age,和年龄.
3.添加扩展事件.onblur,这东西说白了,就是把原来写在控件里面的事件单独拿出来封了个包,比如onclick和onkeyup事件.%EOSHome%\apache-tomcat-5.5.20\webapps\default\WEB-INF\_srv\work\user\org.gocom.cap.sce.extension.form\META-INF\extensions的文件text.capext.<
events>
<
/events>
标签内添加一段扩展事件代码如下
eventdisplayName="
鼠标失去焦点时"
name="
onblur"
/>
4.打开plaformstudio创建一个EOS基础项目,类似eclipse新建项目.选择构件,在包上新增一个逻辑构建studentmgr,并在studentmgr上新增一个逻辑流,getAge.
5.点击空白处双击弹出属性选框中新增参数brithday.同时增加返回值age.类型为date.后面把方法写成java的了,所以不传today了.
6.打开运算,然后选择java,在包下,新建一个java类的方法GetAge.
先贴一个官方的helloword.java的例子:
这段代码和我们普通java代码唯一的区别就是多了一个@Bizlet()标签,就是这东西标识这个java方法是给EOS用的,必须要加入.
1.packagecom.primeton.samples.base.bizlet;
2.importcom.eos.system.annotation.Bizlet;
3.importcom.eos.system.annotation.BizletParam;
4.@Bizlet("
输出打印"
)
5.publicclassPrinter{
6.
7./**
8.*@paramprint
9.*@authorAdministrator
10.*/
11.@Bizlet(value="
打印到控制台"
params={@BizletParam(index=0,paramAlias="
要打印输出的对象"
)})
12.publicstaticvoidprint(Objectprint){
13.}
14.
15.}
7.在GetAge.java的方法书写:
保存之后,你会发现在逻辑流中和java中都会多出一个getAge.java.
packagecom.startdima.eos;
//这2个是必须要加的
importjava.util.Date;
importcom.eos.system.annotation.Bizlet;
@Bizlet("
输出年龄"
publicclassGetAge{
输入生日,输出年龄"
publicStringgetAge(Datebrithday){
Datedate=newDate();
intage=date.getYear()-brithday.getYear();
if(age<
0){
age=0;
}
return"
"
+age;
}
8.把之前的逻辑流中生成的java方法拖进构件中.并用连接线连接起来.
--------------------------------------------
楼主,已经被EOS弄抽风了,先停机一段时间.
---------------------------------------------
记过我师傅的指导,终于把ajax调用弄好呢!
下面我来写写.之前的例子被我删掉了,下面换成他们家的那个demo吧.官方的源码,在sce中导入即可.
9.上面还是很类似.我自己用java代码.我上传一个快速书写java的方法吧.
publicStringgetWage(Stringbase,Stringallowance){
Stringwage=base+allowance;
System.out.println(wage+"
+(i++));
returnwage;
10.把getWage拖到构件中,然后点击空白处,输入3个变量.
11.复制构建名."
com.smallke.eos.emp.empbiz"
类似这种,加上后缀名.biz,这个东西现在就类似一个action.我们在ajax中调用它去.(后面我重点写写).打开我们的SCE,找到表单.打开脚本编辑.选择鼠标失去焦点.在后面加上如下代码:
//获取页面元素base,allowance的value值
).value;
if(p1=="
{
p1=0;
p2;
elseif(p2=="
p1;
p2=0;
else{p1;
//ajax方式调用逻辑流,逻辑流名称通过复制全名方式获得
com.smallke.eos.emp.empbiz.biz"
//添加参数,第一个为参数名,第二个为参数值
myAjax.addParam("
//开始调用
root/data/data"
).value=returnNode;
运行结果:
本章小结:
这篇文章跨度是快一周了,因为周末比较忙,自己还要去理解一些新的技术,也算好.在写这篇文章的时候请教了好几个大神,感谢师傅学渣,和软件之道在易.也算终于把EOS里面的AJAX和逻辑流完完整整的看了一篇,中途死机很多次,也重启之后再死机.唉....EOS想说爱你不容易呀.PS:
特别鸣谢小亮,"
我要成为和你一样强"
--from魔法师学徒
下一站,我来重点说说我对Ajax的理解.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中兴 智能 SCE 开发 sib