步骤1:新建Package并拷贝视图
在项目中创建com.bstek.dorado.sample.standardlesson.middle.main包。
将 com.bstek.dorado.sample.standardlesson.junior.main目录下的 Main.view.xml拷贝到com.bstek.dorado.sample.standardlesson.middle.main包中。
步骤2:新增并配置TabControl控件
在本节中需要修改原来的单页工作区为多页工作区,因此需要新增TabControl控件,在【ViewConfig】节点下的【View】节点下添加一个TabControl控件,设置属性如下:
| 属性 | 值 | 说明 |
|---|---|---|
| id | tabcontrolMain | 控件的Id |
如下图所示:

步骤3:删除ToolBar原有配置
由于原来ToolBar上显示的菜单是使用MenuButton进行静态配置,在本节中需要在后台从数据库中sl_menu表中读取菜单信息,因此需要将原来静态配置的MenuButton删除,并且解除绑定在ToolBar上的相关事件。
首先展开ToolBar控件选中已经配置的3个MenuButton,点击【鼠标右键】,选中删除,如下图所示:

然后选中ToolBar控件,删除绑定的onReady事件,如下图所示:

保存视图文件。
步骤4:修改ToolBar配置
鼠标选中ToolBar控件,修改属性如下:
| 属性 | 值 | 说明 |
|---|---|---|
| id | toolbarMenu | 控件的Id |
| listener | spring:mainDynaView#beforeToolBarInit | 对象监听器的服务定位表达式 |
接下来为toolbarMenu控件重新绑定onReady事件,在onReady事件编辑区中输入如下代码:
//获取tags属性为menuitem的控件集合并为它们绑定onClick事件
view.get("^menuitem").addListener("onClick", function(self, arg){
// 定义Tab变量
var tab = {};
// 制定当前的tab为IFrameTab
tab.$type = "IFrame";
// 定义新Tab的标签
tab.caption = self.get("caption");
// 定义Tab的Path
// get("userData")表示获取当前菜单的UserData属性,
tab.path = self.get("userData");
tab.name = self.get("caption");
tab.closeable = true;
tab.icon = self.get("icon");
// 如果当前菜单项有指定的Path则打开新的tab
if (tab.path) {
with (view.get("#tabcontrolMain")) {
// 根据name查找是否已经打开过当前的Tab。
// 如果没有打开过,则需要添加一个新的Tab
var currentTab = getTab(tab.name);
if (currentTab) {
tab = currentTab;
} else {
// 获取ID为tabcontrolMain的对象,并添加一个新的Tab
tab = addTab(tab);
}
// 设定当前的Tab为指定的tab
set("currentTab", tab);
}
}
});
//找到tags为logout的控件集合,为控件添加onClick事件监听器即点击后,弹出对话框
view.get("^logout").addListener("onClick", function(self, arg, dialogLogout){
dialogLogout.show();
});
步骤5:修改Label配置
选中Label控件,修改控件属性如下:
| 属性 | 值 | 说明 |
|---|---|---|
| text | Dorado7实战必修课“企业通讯录”中级教程 | Label控件显示的文本 |
步骤6:修改Dialog配置
鼠标展开【dialogLogout】控件下的Children节点,选中Label控件,修改控件属性如下:
| 属性 | 值 | 说明 |
|---|---|---|
| text | Dorado7实战必修课“企业通讯录”中级教程 | Label控件显示的文本 |
步骤7:修改AjaxAction配置
接下来需要修改ajaxactionLogout这个控件的配置,原来的service主要是针对初级教程部分,现在需要修改为针对中级教程,修改控件属性如下:
| 属性 | 值 | 说明 |
|---|---|---|
| service | loginServiceForMiddle#doLogout | Dorado服务端暴露给客户端的某个服务的名称 |
到目前为止,View部分设置完毕,接下来需要准备后台服务。