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_food
        mysql_extend
    

(2)新建一个模块 module_food

        1.new数据库反向建模(om)选择之前设计好的tb_food表,按照提示一步步,就会说在model下的om中产生对 应的om模型,点击生成代码,

           就会在src下生成对应的后代代码。

sg-uap下关于单表操作的从前台到后台的开发流程_第1张图片

        2.new界面模型(*.ui),按照提示一步步,就会说在model下的ui中产生对 应的ui模型,点击小齿轮图标生成代码,就会在face目录下生成

           对应的前端代码。

sg-uap下关于单表操作的从前台到后台的开发流程_第2张图片


        二、完成上面两步,这时就可以在浏览器地址栏中输入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步就可以实现功能的添加。


你可能感兴趣的:(sg-uap下关于单表操作的从前台到后台的开发流程)