前言&准备阶段
提前准备数据库,普华推荐使用企业版的Oracle数据库,但是由于现在教学用的都为Mysql,并且使用Mysql同样可以实现功能,所以我就以Mysql为例,和大家一起探索EOS studio的魅力!
初始化数据库
安装时可以进行初始化,但是如果安装时忽略了指定数据库的过程,那么,只能通过governor的方式初始化,否则需要卸载重装,
governor的方式:
在启动的情况下–打开IE浏览器,输入【http://localhost:8080/governor】网址----然后点击左侧【管理】,然后点击【数据库初始化】,在右侧填写对应的DB2数据库信息,然后点击【数据库连接测试】,
–在连接的URL后边跟随编码制【127.0.0.1:3315/jtdb? characterEncoding=utf8】可以防止初始化数据库乱码
自定义标签<w:lookup ******/>
在标签里进行指定:
<td class="form_label">
所在机构
</td>
<td colspan="1">
<w:lookup property="ooperator/oOrg/orgId"
displayProperty="ooperator/oOrg/orgName"
lookupUrl="com.primeton.eos.OOrgSelect.flowx" />
</td>
cascade级联操作
应用中通常需要更新主从表的数据,因此EOS的基础构件库中提供了一组对单实体进行级联操作的方法:insertEntityCascade、updateEntityCascade、deleteEntityCascade。这组方法能够实现对1->n的关联关系的基本数据库操作(只能处理一级级联),特别是update功能能够自动删除不在Datacell中提交的数据。
注意
因为级联操作会对从表进行复杂数据处理,
如果在业务上1->n的n端数据非常大的情况下,
不建议使用级联操作。
而且如果n端数据量很大的情况下,
也不建议建立1->n的聚合关系。
EOS应用逻辑开发诀窍
EOS应用逻辑是一个标准MVC:逻辑流实现了业务逻辑(Model),页面流描述了页面之间流转关系(Control),JSP是界面的表现(View)。
n->1的关联实体的显示属性设置
我们对实体进行基本操作时,可以通过配置关联实体的显示属性实现代码快速生成。
例如:操作员信息处理时,我们可以通过lookup控件来实现对机构实体的处理。
这儿配置了关联实体的主键设置:
lookupUrl属性:com.primeton.eos.OOrgSelect.flow(这个就是Lookup向导生成的页面流程序)。
displayValue:oOrg/orgName(oOrg是OOperator的机构属性名称,orgName是机构的显示名称使用的OOrg实体的属性)。
注意
displayValue的值是在向导中使用的,如果配置好了这个属性那么在代码生成中就能够产生正确的jsp。
小技巧:queryform配置查询条件
EOS Studio提供了一个queryform的查询表单向导,如果查询的实体建立了n->1的关联关系,我们是可以选择关联实体的字段做为查询条件的,例如在上图中,我们可以设置"oOrg."开头的属性做为查询条件。通过这个方式我们轻松的实现了简单的join查询。
集成nui
各目录文件解释如下:
common/nui:NUI产品的javascript和css。
common/nui/locale:语言资源文件。
common/nui/themes:多套皮肤样式。
Note:开发者只需要引用nui.js即可。
为更好演示DataGrid相关示例,以及提供可参考的数据交互代码,我们提供了示例数据库和一定的服务端代码。
标准页面模板如下:
<!DOCTYPE html />
<html>
<head>
<title>Hello NUI!</title>
<!-NUI->
<script src="common/nui/nui.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>
示例使用说明(eos)
使用Platform Governor初始化数据库(初始化业务字典等数据,如果已经初始化过则不需要执行此步骤)。
在数据库中执行examples/dbscripts目录下的数据库脚本初始化示例业务数据。
在Platform Governor中部署nui-demo4eos.ecd安装包到eos应用下。
示例使用说明(java)
在数据库中执行examples/dbscripts目录下的数据库脚本初始化示例业务数据。
解压nui-demo.war文件到tomcat的webapp目录下或直接把该文件部署到tomcat的webapp目录下并启动tomcat。
修改示例应用安装包WEB-INF\classes目录下的数据库连接配置 文件user-config.properties。
示例源码使用说明
解压examples/nui-demo4eos-src.zip或examples/nui-demo-src.zip文件。
导入到工作空间。
利用nui编写第一个网页弹框界面
<!DOCTYPE html />
<html>
<head>
<title>Hello NUI!</title>
<!-NUI->
<script src="common/nui/nui.js" type="text/javascript"></script>
</head>
<body>
<input id="helloBtn" class="nui-button" text="Hello" onclick="onHelloClick"/>
<script type="text/javascript">
function onHelloClick(e){
var button = e.sender;
nui.alert("Hello NUI!");
}
</script>
</body>
</html>
Note:
请注意相关javascript和css的路径是否正确。
NUI是基于jQuery开发的javascript控件库,所以依赖jquery.js。jQuery版本1.4+即可。
效果图如下:
本例注意点如下:
控件声明:class=“nui-button”
属性设置:text=“Hello”
事件绑定:οnclick=“onHelloClick”
事件处理函数:onHelloClick的e是事件对象,e.sender是事件激发者,本例中是button。