sg-uap下關於單表操作的從前臺到後臺的開發流程
一、 先要給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-repository id="workspace" path="F:\UAP_workspace"> <module>module_food</module> <module>mysql_extend</module> </module-repository>
(2)新建一個模組module_food
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);
}
(2)在對應的TbFoodGridViewController.js中新增對應的_ChangeTasteButton_onclick 方法,對應程式碼如下
/**
* 改變味道
*/
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", "修改失敗");
}
);
};
(3)在TbFoodController.java中加入下面的程式碼段
/**
* 改變味道為美味滴
*/
@RequestMapping("/changeTaste")
public @ItemResponseBody QueryResultObject changeTaste (HttpServletRequest req) {
String foodid = req.getParameter("zjid");
tbfoodBizc.changeTaste(foodid);
return null;
}
(4)在ITbFoodBizc.java中加入public void changeTaste(String foodid);
(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步就可以實現功能的新增。