一、 先要给uap中下载开发所需要的插件(155 plug),将sguap-server放到tomcat的webapps目录下,然后开启启动tomcat;点击“Window->Preferences”,在“Plug-inDevelopment->Target Platform”中配置地址,点击“add”,再点击“next”,在Name栏输入名称,选择“locations”,点击“add”,选择“directory”,点击“next”,在location栏输入SG-UAPSERVER地址:http://127.0.0.1:8082/sguap-server/environment/platform/Version2.0.0;然后uap就会检测到155个可用的插件可用下载,点击next进行下载,然后应用,此时,就可以用uap进行开发了。
(1)新建一个主项目uap_food
要在uap_food->WebContext->WEBINF->configuration->policy.xml中加入mysql_extend和下一步将要新建的模块名module_food
module_food
mysql_extend
1.new数据库反向建模(om)选择之前设计好的tb_food表,按照提示一步步,就会说在model下的om中产生对 应的om模型,点击生成代码,
就会在src下生成对应的后代代码。
2.new界面模型(*.ui),按照提示一步步,就会说在model下的ui中产生对 应的ui模型,点击小齿轮图标生成代码,就会在face目录下生成
对应的前端代码。
二、完成上面两步,这时就可以在浏览器地址栏中输入http://127.0.0.1:9000/uap_food/module_food/food/index.jsp 就会出现一个具有新建、删除、编辑、打印 功能的一个功能页面。然后,在实际应用中我们可能会需要各种各样的具体功能,这时就需要我们手写增加所需要的功能,比如我这里想要增加一个“改变食物味道”的功能。
(1) 先要在face下的TbFoodGridView.js中添加添加“改变味道”的按键,对应代码如下
function _init_MainToolBar(){
_MainToolBar = new mx.controls.ToolBar({
id:"MainToolBar",
height:"24",
direction:"horizontal",
width:"100%",
itemAlign:"left",
layoutConfigs:{},
items:[
{id:"ChangeTasteButton",droppedDown:false,text:"改变味道",imageKey:"edit",height:"20",width:"100",useSymbol:true,onclick:me.controller._ChangeTasteButton_onclick},
{id:"NewButton",droppedDown:false,text:"新建",imageKey:"add",height:"20",width:"60",useSymbol:true,onclick:me.controller._NewButton_onclick},
{id:"DelButton",droppedDown:false,text:"删除",imageKey:"delete",height:"20",width:"60",useSymbol:true,onclick:me.controller._DelButton_onclick},
{id:"EditButton",droppedDown:false,text:"编辑",imageKey:"edit",height:"20",width:"60",useSymbol:true,onclick:me.controller._EditButton_onclick},
{id:"ChakanButton",droppedDown:false,text:"查看食物",imageKey:"print",height:"20",width:"100",useSymbol:true,onclick:me.controller._ChakantButton_onclick},
{id:"PrintButton",droppedDown:false,text:"打印",imageKey:"print",height:"20",width:"60",useSymbol:true,onclick:me.controller._PrintButton_onclick}
]
});
_HSplitArea0.addControl(_MainToolBar);
}
/**
* 改变味道
*/
me._ChangeTasteButton_onclick = function(e) {
if(dataGrid.getCheckedItems().length == 0) {
mx.indicate("info", "请选择一条待改变记录。");
return;
}else if(dataGrid.getCheckedItems().length>1) {
mx.indicate("info", "只能选择一条待改变记录。");
return;
}
var primaryKey = dataGrid.entityContainer.primaryKey;
var primaryValue = dataGrid.selection.getValue(primaryKey);
var data = {"zjid":primaryValue};
/*下面的food为对应的前端代码的场景名,rest后面跟的tbFood为对应后代代码src中的TbFoodController.java
中的@RequestMapping("/tbFood")对应的,changeTaste为 TbFoodController.java中的对应方法 */
var client = new mx.rpc.RESTClient({baseUrl:food.mappath("~/rest/tbFood/")});
client.get("/changeTaste",
data,
function(ret) {
if(ret.successful) {
mx.indicate("info", "修改成功");
dataGrid.load();
}else
mx.indicate("info", "修改失败");
}
);
};
/**
* 改变味道为美味滴
*/
@RequestMapping("/changeTaste")
public @ItemResponseBody QueryResultObject changeTaste (HttpServletRequest req) {
String foodid = req.getParameter("zjid");
tbfoodBizc.changeTaste(foodid);
return null;
}
(5)在TbFoodBizc.java中加入下面的代码段
/**
* 改变味道为美味滴
*/
public void changeTaste(String foodid) {
StringBuffer sql = new StringBuffer();
sql.append("update tb_food set ");
sql.append("food_taste='美味滴' where ");
sql.append("food_id=?");
hibernateDao.executeSqlUpdate(sql.toString(),new Object[]{foodid});
}
上面这5步就是添加一个功能的从前台到后台的基本流程,通过这5步就可以实现功能的添加。